tech note

インフラ技術や車についてつぶやいていくブログ

さくっとMySQLインストール、レプリケーション開始

f:id:tea_cat:20180913015253j:plain

構成

以下3台のMaster/Slave/Slave構成とします
MHA01/02/03

レポジトリインストール(3台共通)

rpm -ivh http://repo.mysql.com//mysql57-community-release-el6-8.noarch.rpm

MySQLインストール(3台共通)

yum install mysql-server -y
/etc/init.d/mysqld start
chkconfig mysqld on

MySQLセットアップ(3台共通)

grep "password is generated" /var/log/mysqld.log
mysql_secure_installation
mysql -p
SHOW VARIABLES LIKE 'validate_password%';
uninstall plugin validate_password;
SHOW VARIABLES LIKE 'validate_password%';
set password for root@localhost = '';
\q
cp -ip /etc/my.cnf /etc/.backup/my.cnf.20160629
echo 'loose-log_timestamps= SYSTEM' >> /etc/my.cnf
/etc/init.d/mysqld restart

replユーザ作成(3台共通)

mysql -uroot -e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.3.25.0/255.255.255.0' IDENTIFIED BY 'PASSWD';"

バイナリログ出力設定(MHA01のみ)

echo 'log-bin=mysql-bin' >> /etc/my.cnf
/etc/init.d/mysqld restart

server-id設定(3台個別)

echo 'server-id=2523' >> /etc/my.cnf  server-idはユニークな値にします
/etc/init.d/mysqld restart

Masterでmysqldump実施(MHA01のみ)

mysql
FLUSH TABLES WITH READ LOCK;
mysqldump -uroot --all-databases --lock-all-tables > dbdump.db
UNLOCK TABLES;
\q

転送(MHA01のみ)

scp dbdump.db mha02:/root/
scp dbdump.db mha03:/root/

dumpデータをリストア(MHA02/03のみ)

mysql -uroot <dbdump.db
mysql -uroot
CHANGE MASTER TO
           MASTER_HOST='10.3.25.21',
           MASTER_USER='repl',
           MASTER_PASSWORD='ZTzSrp4B',
           MASTER_LOG_FILE='mysql-bin.000001',
           MASTER_LOG_POS=154;
START SLAVE;
\q