반응형


41.mysql 5.7설치-program.zip


41.mysql 5.7설치.txt



안녕하세요. 준경대디 입니다.

 

"머리만1톤"님도 언급하셨지만,

경우에 따라 기존 설치스크립트대로 MySQL 5.7 설치해보면 여러가지 난관을 경험하게 됩니다.

 

저도 동일한 어려움을 겪고 고생한 적이 있었는데,

문제없이 설치되는 스크립트 공유해 봅니다.

 

 

-- =================================================================================
-- 필수 프로그램 설치
-- =================================================================================

sudo su -

 

yum install -y gcc automake autoconf libtool make cpan libstdc* libaio*
yum install -y perl perl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Params-Validate
yum install -y gzip unzip sysstat* iotop

 

 

-- =================================================================================
-- OS 환경 설정
-- =================================================================================

sudo su -

 

echo ""
echo "*          -       nofile    65536"     >> /etc/security/limits.d/90-nproc.conf
echo "*          -       nproc     unlimited" >> /etc/security/limits.d/90-nproc.conf

cat /etc/security/limits.d/90-nproc.conf

 

echo /usr1/mysql/5705/lib                 >> /etc/ld.so.conf && ldconfig
echo /usr/lib64                           >> /etc/ld.so.conf && ldconfig
echo PATH=$PATH:/usr1/mysql/5705/bin      >> /etc/profile && source /etc/profile

cat /etc/ld.so.conf

. /etc/profile

 

 

-- =================================================================================
-- Installing MySQL 5.7.5 Step.1
-- =================================================================================

sudo su -

 

mkdir -p /usr1/program

 

rm -rf /usr1/mysql/DBSpace_VM

mkdir -p /usr1/mysql/DBSpace_VM/ADMIN
mkdir -p /usr1/mysql/DBSpace_VM/DATA
mkdir -p /usr1/mysql/DBSpace_VM/BINLOG
mkdir -p /usr1/mysql/DBSpace_VM/RELAYLOG
mkdir -p /usr1/mysql/DBSpace_VM/IBLOG
mkdir -p /usr1/mysql/DBSpace_VM/BACKUP

mkdir -p /usr1/mysql/dba/log

ls -l /usr1/mysql/DBSpace_VM/*

 

 

tail -1 /etc/group
tail -1 /etc/passwd

groupadd mysql

useradd super-dba -g mysql -d /home/super-dba

passwd super-dba

tail -1 /etc/group
tail -1 /etc/passwd

 

 

cd /usr1/program

ls -l

-- 프로그램 다운로드 & 업로드

#   -rw-r--r--. 1 root root   1042165 May 27  2014 common_schema-2.2.sql
#   -rw-r--r--. 1 root root     88964 Sep  4 15:10 htop-1.0.3-1.el7.rf.x86_64.rpm
#   -rw-r--r--. 1 root root 423605472 Dec  2 22:56 mysql-5.7.5-m15-linux-glibc2.5-x86_64.tar.gz
#   drwxr-xr-x. 5 root root      4096 Feb 23 15:56 mysql-sys-master
#   -rw-r--r--. 1 root root     52794 Sep 23 22:31 zzdba_objects_v1.2_20140901.sql

#   wget https://downloads.mariadb.com/archives/mysql-5.7/mysql-5.7.5-m15-linux-glibc2.5-x86_64.tar.gz

 

tar zxvf mysql-5.7.5-m15-linux-glibc2.5-x86_64.tar.gz

mv mysql-5.7.5-m15-linux-glibc2.5-x86_64 /usr1/mysql/5705

ls -l


cd /usr1/mysql/

ls -l


cat /etc/ld.so.conf

. /etc/profile

 

ls -l /etc/my.cnf

mv /etc/my.cnf /etc/my.cnf.old

ln -s /usr1/mysql/DBSpace_VM/ADMIN/my.cnf /etc/my.cnf

ls -l /etc/my.cnf

 

vi /usr1/mysql/DBSpace_VM/ADMIN/init.sql
================================================================
set global max_connections = 1000;
================================================================

 

vi /etc/my.cnf
================================================================
... 맨 아래 참고 ...
================================================================

 

chown -R super-dba:mysql /usr1

ls -l /usr1/mysql

 

 

-- =================================================================================
-- Installing MySQL 5.7.5 Step.2
-- =================================================================================

sudo su -

 

cd /usr1/mysql/5705

 

ls -l /usr1/mysql/DBSpace_VM/*

 

./bin/mysql_install_db --no-defaults --insecure -uroot --datadir=/usr1/mysql/DBSpace_VM/DATA --lc-messages-dir=/usr1/mysql/5705/share --lc-messages=en_US -v --defaults-file=/etc/my.cnf --basedir=/usr1/mysql/5705 --user=super-dba

 

ls -l /usr1/mysql/DBSpace_VM/*

 

cat ./../DBSpace_VM/ADMIN/error.log

 

 

-- =================================================================================
-- Installing MySQL 5.7.5 (3)
-- =================================================================================

sudo su -

 

ls -l /etc/init.d/mysqld

ln -sv /usr1/mysql/5705/support-files/mysql.server  /etc/init.d/mysqld

ls -l /etc/init.d/mysqld

 

 

### MySQL 기동 ###

ps -ef | grep mysqld

su - super-dba -c "service mysqld   start"
su - super-dba -c "service mysqld restart"

ps -ef | grep mysqld

 

 

### MySQL root 유저 암호 설정 ###

su - super-dba -c "/usr1/mysql/5705/bin/mysqladmin -u root password oracle"
su - super-dba -c "/usr1/mysql/5705/bin/mysql -uroot --password=oracle -e \"select version();\""

 

su - super-dba -c "/usr1/mysql/5705/bin/mysql -uroot --password=oracle"

   select user, host, password from mysql.user order by user, host;

   delete from mysql.user where user = '';
   update mysql.user set password=password('oracle') where user = 'root';
   drop user 'root'@'::1';

   select user, host, password from mysql.user order by user, host;

   flush privileges;

   exit;

su - super-dba -c "/usr1/mysql/5705/bin/mysql -uroot --password=oracle -e \"select version();\""

 

 

-- =================================================================================
-- OS 유저 (super-dba) 설정
-- =================================================================================

sudo su - super-dba

 

vi /usr1/mysql/dba/.env.ini
=============================================================
#!/bin/bash

export MySQL_VER=5705
export MySQL_BASE=/usr1/mysql
export MySQL_HOME=$MySQL_BASE/$MySQL_VER
export MySQL_PORT=3336
export MySQL_SID=testdb
=============================================================

chmod +x /usr1/mysql/dba/.env.ini

 

 

vi ~/.bash_profile
=============================================================
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

 

export PS1=`hostname`:'$PWD> '

export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
export PATH=$PATH:$HOME/bin
export PATH=$PATH:/bin:/usr/bin/java/bin:/bin:/usr/bin:/usr/sbin:/etc:/usr/etc
export PATH=$PATH:/usr1/mysql/5705/bin

export TEMPDIR=/tmp
export EDITOR=vi

alias ll="ls -al --color=auto"

source /usr1/mysql/dba/.env.ini
=============================================================

source ~/.bash_profile

 

ps -ef | grep mysqld

service mysqld restart

ps -ef | grep mysqld

 

 

-- =================================================================================================
-- DB 계정 생성
-- =================================================================================================

mysql -u root --password=oracle

   select version();

   select user, host, password from mysql.user order by user, host;

   GRANT SELECT, UPDATE, INSERT, DELETE, EXECUTE ON *.*           TO svc_user@'192.168.86.%' IDENTIFIED BY 'oracle';

   GRANT SELECT, EXECUTE                         ON `test%`.*     TO etl_reader@'%'          IDENTIFIED BY 'oracle';

   GRANT REPLICATION SLAVE                       ON *.*           TO 'repl_dba'@'%'          IDENTIFIED BY 'oracle';

   GRANT SELECT, PROCESS, SUPER, EVENT           ON *.*           TO 'percona_cacti'@'%'     IDENTIFIED BY 'oracle';
   GRANT UPDATE                                  ON `moniter`.*   TO 'percona_cacti'@'%'     IDENTIFIED BY 'oracle';
   GRANT ALL PRIVILEGES                          ON `sys`.*       TO 'percona_cacti'@'%'     IDENTIFIED BY 'oracle';

   FLUSH PRIVILEGES;

   select user, host, password from mysql.user order by user, host;

   show databases;

   create database test;

   show databases;

   exit

 

 

-- =================================================================================================
-- mysql_config_editor 설정
-- =================================================================================================

mysql_config_editor print --all

mysql_config_editor remove --login-path=dbreplica
mysql_config_editor remove --login-path=dbmon
mysql_config_editor remove --login-path=dbreader

mysql_config_editor print --all


mysql_config_editor set --login-path=dbmon     --host=localhost   --user=root        --password --socket=/tmp/mysql.sock --port=3336
mysql_config_editor set --login-path=dbreplica --host=localhost   --user=repl_dba    --password --socket=/tmp/mysql.sock --port=3336
mysql_config_editor set --login-path=dbreader  --host=localhost   --user=etl_reader  --password --socket=/tmp/mysql.sock --port=3336


mysql --login-path=dbmon     -e "SELECT NOW()";
mysql --login-path=dbreplica -e "SELECT NOW()";
mysql --login-path=dbreader  -e "SELECT NOW()";

 

 

-- =================================================================================================
-- zzdba Database 설정
-- =================================================================================================

cd /usr1/program/mysql-sys-master

mysql -u root --password=oracle

   show databases;


   tee /usr1/program/zz_install_zzdba.log

   source /usr1/program/zzdba_objects_v1.2_20140901.sql

   notee

   system cat /usr1/program/zz_install_zzdba.log | grep err

   -- system vi /usr1/program/zz_install_zzdba.log

 

   tee /usr1/program/zz_install_common_schema.log

   source /usr1/program/common_schema-2.2.sql

   show global variables like 'thread_stack';

   notee

   system cat /usr1/program/zz_install_common_schema.log | grep err

   -- system vi /usr1/program/zz_install_common_schema.log

   /*
   ====================================================================
   +---------------+--------+
   | Variable_name | Value  |
   +---------------+--------+
   | thread_stack  | 524288 |
   +---------------+--------+

   -- 최소 thread_stack = 256K 이상 권장함
   ====================================================================
   */

 

   tee /usr1/program/zz_install_mysql-sys-master.log

   show databases;

   source sys_56.sql

   show databases;

   select * from statements_with_full_table_scans limit 1;

   notee

 

   select * from zzdba.dba_metadata limit 10;

   insert into zzdba.dba_metadata (name, value, reg_date)
   select 'BUF_TAB_BIG_SIZE'
        , data
        , now()
     from sys.x$innodb_buffer_stats_by_table
    order by data desc limit 1
       ON DUPLICATE KEY UPDATE value = values(value), reg_date=values(reg_date);

   update zzdba.dba_metadata set svc_name = 'testdb';

   select * from zzdba.dba_metadata limit 10;

 

   exit

 

 

-- =================================================================================================
-- nmon 설정
-- =================================================================================================

sudo su -

 

cd /usr1/program

wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz

tar zxvfp nmon_linux_14i.tar.gz

chmod +x nmon*

mv nmon_x86_64_centos6 /usr/bin/nmon

rm -rf nmon*

mkdir -p /usr1/mysql/dba/log/nmon
mkdir -p /usr1/mysql/dba/log/top
mkdir -p /usr1/mysql/dba/cron/

 

ls -l /usr1/mysql/dba/cron/top.sh

echo '#!/bin/bash'                                                > /usr1/mysql/dba/cron/top.sh
echo ''                                                          >> /usr1/mysql/dba/cron/top.sh
echo 'BACKUP_FILE=/usr1/mysql/dba/log/top/top.`date "+%Y%m%d"`'  >> /usr1/mysql/dba/cron/top.sh
echo ''                                                          >> /usr1/mysql/dba/cron/top.sh
echo '/usr/bin/top  -c -b -n720 -d120 > $BACKUP_FILE'            >> /usr1/mysql/dba/cron/top.sh
echo '/bin/gzip $BACKUP_FILE'                                    >> /usr1/mysql/dba/cron/top.sh
echo ''                                                          >> /usr1/mysql/dba/cron/top.sh
echo '# -c : display full command (not command name only)'       >> /usr1/mysql/dba/cron/top.sh
echo '# -b : Batch mode'                                         >> /usr1/mysql/dba/cron/top.sh
echo '# -n : Number of iterations'                               >> /usr1/mysql/dba/cron/top.sh
echo '# -d : Delay (sec)'                                        >> /usr1/mysql/dba/cron/top.sh

chmod +x /usr1/mysql/dba/cron/top.sh

ls -l /usr1/mysql/dba/cron/top.sh

 

crontab -e

############################################################
# Monitoring by root
############################################################
00 10 * * *    /usr/bin/nmon -f -s 60 -c 1440 -m /usr1/mysql/dba/log/nmon
20 10 * * *    sh /usr1/mysql/dba/cron/top.sh

 

crontab -l


chown -R super-dba:mysql /usr1/


exit

 

-- =================================================================================================
-- dba 폴더 설정
-- =================================================================================================

....

 


-- =================================================================================================
-- 참고.my.cnf
-- =================================================================================================
################################################################
## my.cnf                                                      #
################################################################
[client]
port                                           = 3336
socket                                         = /tmp/mysql.sock
#password                                      = your_password

[mysqld]
server-id                                      = 9999
user                                           = super-dba
port                                           = 3336
socket                                         = /tmp/mysql.sock
basedir                                        = /usr1/mysql/5705
datadir                                        = /usr1/mysql/DBSpace_VM/DATA
tmpdir                                         = /tmp
pid-file                                       = /tmp/mysqld.pid
init_connect                                   = 'SET NAMES utf8;'
init-file                                      = /usr1/mysql/DBSpace_VM/ADMIN/init.sql
character-set-server                           = utf8
collation-server                               = utf8_general_ci
skip-character-set-client-handshake
skip-host-cache
skip-name-resolve
skip-external-locking
skip-slave-start
sysdate-is-now

event_scheduler                                = ON
general-log                                    = OFF
general-log-file                               = /usr1/mysql/DBSpace_VM/ADMIN/general.log
sql_mode                                       = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log_output                                     = FILE
slow-query-log                                 = ON
slow-query-log-file                            = /usr1/mysql/DBSpace_VM/ADMIN/slowquery.log
long_query_time                                = 0.2
log-queries-not-using-indexes                  = OFF
log-bin                                        = /usr1/mysql/DBSpace_VM/BINLOG/mysql_bin
expire_logs_days                               = 3
log-warnings                                   = 2
log-error                                      = /usr1/mysql/DBSpace_VM/ADMIN/error.log
sync_binlog                                    = 0

back_log                                       = 1024
max_connections                                = 500
max_connect_errors                             = 9999999999
table_open_cache                               = 15000
max_allowed_packet                             = 4M
max_heap_table_size                            = 128M
tmp_table_size                                 = 128M
read_rnd_buffer_size                           = 2M
read_buffer_size                               = 512K
sort_buffer_size                               = 512K
join_buffer_size                               = 512K
thread_cache_size                              = 2048
query_cache_type                               = DEMAND
query_cache_size                               = 64M
query_cache_limit                              = 512K
thread_stack                                   = 512K
ft_min_word_len                                = 4

wait_timeout                                   = 300
interactive_timeout                            = 28800
connect_timeout                                = 300
net_read_timeout                               = 172800
net_write_timeout                              = 172800


default-storage-engine                         = INNODB

lower_case_table_names                         = 1
binlog_cache_size                              = 2M
binlog_format                                  = MIXED
binlog_row_image                               = MINIMAL
transaction_isolation                          = READ-COMMITTED
max_binlog_size                                = 128M
log_bin_trust_function_creators                = 1
open-files-limit                               = 65535

explicit_defaults_for_timestamp                = TRUE


########################################
# INNODB Specific options
########################################
innodb_data_home_dir                           = /usr1/mysql/DBSpace_VM/DATA
innodb_log_group_home_dir                      = /usr1/mysql/DBSpace_VM/IBLOG
innodb_buffer_pool_size                        = 1GB
#innodb_buffer_pool_instance                   = 8
innodb-buffer-pool-instances                   = 8
innodb_data_file_path                          = ibdata1:500M:autoextend
innodb_file_per_table                          = 1

innodb_write_io_threads                        = 8
innodb_read_io_threads                         = 8
innodb_force_recovery                          = 0
innodb_thread_concurrency                      = 16
innodb_flush_log_at_trx_commit                 = 2

innodb_log_buffer_size                         = 8M
innodb_log_file_size                           = 50M
innodb_log_files_in_group                      = 10

innodb_max_dirty_pages_pct                     = 30
innodb_flush_method                            = O_DIRECT
innodb_lock_wait_timeout                       = 15

innodb_doublewrite                             = ON
innodb_file_format                             = Barracuda
innodb_file_format_max                         = Barracuda

innodb_status_file                             = 1
innodb_adaptive_flushing                       = 1
innodb_use_native_aio                          = 1
#innodb_purge_thread                           = 1
innodb-purge-threads                           = 1
innodb_fast_shutdown                           = 0

innodb_stats_auto_recalc                       = OFF
innodb_stats_persistent                        = OFF
innodb_sort_buffer_size                        = 2M
innodb_print_all_deadlocks                     = ON

skip-innodb_adaptive_hash_index

performance_schema                             = ON

federated

innodb_io_capacity                             = 2000
innodb_io_capacity_max                         = 10000

########################################
# Replication related settings
########################################
replicate-ignore-db                            = perf_mon
replicate-ignore-db                            = sys
replicate-ignore-db                            = moniter
replicate-ignore-db                            = mysql
#replicate-do-db                               = xxxdb
#
#relay_log_purge                               = OFF
#relay-log                                     = /usr1/mysql/DBSpace_VM/RELAYLOG/mysql_relay
#log_slave_update
#########################################


########################################
# MyISAM Specific options
########################################
key_buffer_size                                = 64M
bulk_insert_buffer_size                        = 16M
myisam_sort_buffer_size                        = 16M
myisam_max_sort_file_size                      = 16M
myisam_repair_threads                          = 1
#myisam_recover
myisam-recover-options


[mysqldump]
quick
max_allowed_packet                             = 64M


[mysql]
no-auto-rehash
prompt                                         = '[\h] (\d) \R:\m> '


[myisamchk]
key_buffer_size                                = 64M
sort_buffer_size                               = 16M
read_buffer                                    = 16M
write_buffer                                   = 16M


[mysqlhotcopy]
interactive-timeout


[mysqld_safe]
open-files-limit                               = 65535

-- =================================================================================================



출처 : http://cafe.naver.com/mysqlpg/838

반응형

+ Recent posts