2014年1月29日 星期三

[研究] MySQL 5.1.71 資料庫同步(Replication)-雙機互備模式(CentOS 6.5 x86_64)

[研究] MySQL 5.1.71 資料庫同步(Replication)-雙機互備模式(CentOS 6.5 x86_64) 

2014-01-29
Lu

參考
16.1.1. How to Set Up Replication
http://dev.mysql.com/doc/refman/5.1/en/replication-howto.html

server1 : CentOS 6.5 x86_64 , IP: 192.168.128.101
server2 : CentOS 6.5 x86_64 , IP: 192.168.128.102

CentOS 6.5 的 MySQL 是 5.1.71 版

[root@centos1 ~]# yum list | grep mysql-server
mysql-server.x86_64                       5.1.71-1.el6                   base
[root@centos1 ~]#

----------------------------------------------------------------------------

先在兩台上都安裝啟動 MySQL,暫時先關閉防火牆

yum  -y  install  mysql  mysql-server
service  mysqld  start
chkconfig  mysqld  on
# 替 MySQL 帳號 root 設定密碼為 123456 (依個人喜好)
/usr/bin/mysqladmin -u root password '123456'
service  iptables  stop

----------------------------------------------------------------------------

Server1 上

1. 建立同步用帳號和要同步的資料庫,讓另一台主機192.168.128.102上的root帳號在這台上有REPLICATION SLAVE權限

[root@server1 ~]# mysql 

mysql> CREATE USER 'root'@'192.168.128.102' IDENTIFIED BY '';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT REPLICATION SLAVE ON *.*  TO 'root'@'192.168.128.102';

mysql> GRANT FILE ON *.*  TO 'root'@'192.168.128.102';

mysql> GRANT ALL PRIVILEGES ON *.*  TO 'root'@'192.168.128.102';

讓權限設定生效(或重新啟動MySQL也可)
mysql> FLUSH PRIVILEGES;

建立新的空資料庫(稱為backup)
mysql> create database backup;

mysql> \q


2. 修改 /etc/my.cnf,在[mysqld]中增加下面資訊

[mysqld]
server-id=1

log-bin=mysql-bin
binlog-do-db=backup 

#定期去192.168.128.102抓資料
master-host=192.168.128.102
master-user=root
master-password=
master-port=3306
master-connect-retry=60
replicate-do-db=backup


2.重新啟動資料庫讓my.cnf生效


[root@server1 ~]# service mysqld restart

PS : 因為 Server2 尚未設定,所以/var/log/mysqld.log可能有錯誤
等 Server2 設定完,重新啟動後,可以再重新啟動一次Server1

----------------------------------------------------------------------------

Server2 上

1. 建立同步用帳號和要同步的資料庫,讓另一台主機192.168.128.101上的root帳號在這台上有REPLICATION SLAVE權限

[root@server1 ~]# mysql 

mysql> CREATE USER 'root'@'192.168.128.101' IDENTIFIED BY '';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT REPLICATION SLAVE ON *.*  TO 'root'@'192.168.128.101';
Query OK, 0 rows affected (0.00 sec)

2. 修改 /etc/my.cnf,在[mysqld]中增加下面資訊
(注意,log-bin的設定值不可和Server1上相同)

[mysqld]
server-id=2
log-bin=mysql-bin2
binlog-do-db=backup 

#定期去192.168.128.101抓資料
master-host=192.168.128.101
master-user=root
master-password=
master-port=3306
master-connect-retry=60
replicate-do-db=backup

2.重新啟動資料庫

[root@server2 ~]# service mysqld restart

Server1 的再啟動一次

[root@server1 ~]# service mysqld restart

----------------------------------------------------------------------------

可以在兩台機器中任何一台的 backup 資料庫中新增Table或資料,另外一台應該也會出現。

如果失敗
請把Server1上mysql-bin.* 和 mysqld-relay-bin.* 全砍
請把Server2上mysql-bin2.* 和 mysqld-relay-bin.* 全砍

rsync -rvlHpogDtS --delete -e ssh   /var/lib/mysql/.  root@192.168.128.102:/var/lib/mysql/.

重新建立帳號、權限測試

測試部分請參考這篇

[研究] MySQL 5.1.71 資料庫同步(Replication)-主從模式(CentOS 6.5 x86_64) 
(完)

相關

[研究] MySQL 5.1.71 資料庫同步(Replication)-雙機互備模式(CentOS 6.5 x86_64)
http://shaurong.blogspot.com/2014/01/mysql-5171-replication-centos-65-x8664.html
http://forum.icst.org.tw/phpbb/viewtopic.php?f=21&t=80715

[研究] MySQL 5.1.71 資料庫同步(Replication)-主從模式(CentOS 6.5 x86_64) 
http://shaurong.blogspot.com/2014/01/mysql-5171-replication-centos-65-x8664.html
http://forum.icst.org.tw/phpbb/viewtopic.php?f=21&t=80714

[研究] CentOS 5.4 x86 上 MySQL 資料庫同步(Replication)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=17824

[研究] mysql-5.6.15.tar.gz 安裝(CentOS 6.5 x64)
http://shaurong.blogspot.tw/2014/01/mysql-5615targz-centos-65-x64.html
http://forum.icst.org.tw/phpbb/viewtopic.php?f=21&t=80713

[研究] MySQL 5.6.15 安裝(rpm)(CentOS 6.5 x64)
http://shaurong.blogspot.com/2014/01/mysql-5615-rpmcentos-65-x64.html

[研究] MySQL Community 5.6.15 版安裝(yum) (CentOS 6.5 x64)
http://shaurong.blogspot.com/2014/01/mysql-community-5615-tgz-centos-65-x64.html

[研究] 4主機 MySQL Cluster 7.3.3 架設(CentOS 6.5 x64)
http://shaurong.blogspot.tw/2014/01/4-mysql-cluster-7.html

[研究] 4主機 MySQL Cluster 7.2.10.1 架設
http://shaurong.blogspot.tw/2013/02/4-mysql-cluster-7210-1.html

[研究] 2主機 MySQL Cluster 7.2.10-1 架設
http://shaurong.blogspot.com/2013/02/2-mysql-cluster-7210-1.html

[研究] 4主機 MySQL Cluster 7.0.9 架設
http://forum.icst.org.tw/phpbb/viewtopic.php?f=10&t=17903

[研究] 雙主機 MySQL Cluster 7.0.9架設
http://forum.icst.org.tw/phpbb/viewtopic.php?f=10&t=17904

[研究] MariaDB 5.5 安裝(yum)(CentOS 6.3 x64)
http://shaurong.blogspot.com/2013/02/mariadb-55-yum-centos-63-x64.html

[研究] mariadb-5.1.42 (tar.gz)(瑪利亞資料庫, MySQL) 安裝 (CentOS 5.4)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=17988

[研究] mariadb-5.2.4-Linux-i686.tar.gz 安裝 (CentOS 5.5 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=19434

[研究] mysql-5.5.14.tar.gz 安裝(失敗)(CentOS 6.0 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=20252

[研究] mysql-5.5.8.tar.gz 安裝(CentOS 5.5 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=19214

[研究] mysql-5.5.8.tar.gz 安裝(Fedora 14 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=19215

[研究] 每天自動備份 MySQL 方法
http://forum.icst.org.tw/phpbb/viewtopic.php?t=14972

沒有留言:

張貼留言