mysql一臺服務器多實例做slave的配置方法

mysql一臺服務器多實例做slave的配置方法

Master 1服務器和Slave服務器(3306)主從同步
1、 Master 1服務器
--查看參數文件,主要查看是否開啓binlog和serverid
[root@localhost ~]# cat /etc/my.cnf
log-bin= mysql-bin
server-id =200
--登錄mysql,賦予slave賬號權限,允許該用戶可以在主庫上讀取日誌
[root@localhost ~]# mysql
mysql> grant replication slave,reload,super on *.* to 'slave'@'%' identified by '123456';
mysql> flush privileges;
2、 Slave服務器(3306)
--查看參數文件,開啓binlog,修改serverid(不能與Master中的serverid相同),指定master 1服務器ip以及slave用戶密碼
[root@localhost ~]# vim /etc/my.cnf
log-bin = mysql-bin
server-id =201
master-host = 11.1.1.72
master-user = slave
master-password = 123456
--重啓mysql
[root@localhost ~]# /Data/apps/mysql/bin/mysqladmin --socket=/tmp/mysql.sock shutdown
[root@localhost ~]# /Data/apps/mysql/bin/mysqld_safe --datadir=/home/mysql/data --pid-file=/home/mysql/data/localhost.pid &
3、Master 1服務器
--登錄mysql,鎖表(全局讀鎖定,執行命令之後所有庫所有表都被鎖定只讀)
[root@localhost ~]# mysql
mysql> flush tables with read lock;
--查看master 1狀態並記錄binlog文件和位置
mysql> show master status;

--同時另打開一個窗口連接master 1服務器,進入master 1數據目錄(原窗口不要關閉)
[root@localhost ~]# cd /home/mysql/data
[root@localhost ~]# ls

--打包壓縮數據庫相關數據文件
[root@localhost ~]# tar –cvzf data72_20150601.tar.gz ad_goonmax agent_goonmax alexa app_goonmax click_goonmax filing filing2 game_goonmax ibdata1 ib_logfile0 ib_logfile1 msmtp-1.4.17 mysql nagios_check percona pt run_goonmax search shop smartbot sms_goonmax socialshop wm_union
--遠程拷貝至slave服務器中的數據目錄
[root@localhost ~]# scp data72_20150601.tar.gz  11.1.1.222:/home/mysql/data/
4、Slave服務器(3306)
--slave數據目錄解包解壓縮該文件
[root@localhost ~]# cd /home/mysql/data
[root@localhost ~]# tar –xvzf data72_20150601.tar.gz
[root@localhost ~]# ls

5、Master 1服務器
--master 1數據庫解鎖
mysql> unlock tables;
6、Slave服務器(3306)
--登錄mysql,停止slave服務,指定master 1數據庫ip、slave用戶密碼、binlog文件號和位置號
[root@localhost ~]# mysql
mysql>slave stop
mysql>change master to master_host='11.1.1.72',master_user='slave',master_password='123456',master_log_file='mysql-bin.037027',master_log_pos=6273973;
--啓動slave服務,查看slave狀態,Error爲0表示配置成功無誤
mysql>slave start
mysql>show slave status \G;

到此完成Master1、Slave(3306)配置,這個時候當master 1機器中有數據更新的時候,slave機器中也會同步更新數據庫。

Master 2服務器和Slave服務器(3307)主從同步
1、 Master 2服務器
--查看參數文件,主要查看是否開啓binlog和serverid
[root@localhost ~]# cat /etc/my.cnf
log-bin=mysql-bin
server-id=100
long_query_time = 3
slow_query_log =/var/lib/mysql/slow.log
--登錄mysql,賦予slave賬號權限,允許該用戶可以在主庫上讀取日誌
[root@localhost ~]# mysql
mysql> grant replication slave,reload,super on *.* to 'slave'@'%' identified by '123456';
mysql> flush privileges;
2、 Slave服務器(3307)
--拷貝並修改參數文件,開啓binlog,修改port、socket
[root@localhost ~]# cp -v /etc/my.cnf /etc/my3307.cnf
[root@localhost ~]# vim /etc/my3307.cnf
[client]
port                         = 3307
socket                     = /tmp/mysql3307.sock
[mysqld]
port                         = 3307
socket                     = /tmp/mysql3307.sock
long_query_time    = 3
log-slow-queries    = /home/mysql/data3307/slow.log
log-bin                   = mysql-bin
server-id                 = 1
--創建數據目錄並修改所屬用戶所屬組
[root@localhost ~]# mkdir /home/mysql/data3307/
[root@localhost ~]# chown mysql:mysql /home/mysql/data3307
--初始化3307端口的數據庫,指定參數文件、用戶、基目錄、數據目錄
[root@localhost ~]# /Data/apps/mysql/bin/mysql_install_db --defaults-file=/etc/my3307.cnf  --user=mysql --basedir=/Data/apps/mysql --datadir=/home/mysql/data3307
--啓動3307端口的數據庫
[root@localhost ~]# /Data/apps/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf --datadir=/home/mysql/data3307/ --pid-file=/home/mysql/data3307/localhost.3307.pid &
--修改參數文件serverid(不能與Master2中的serverid相同),添加master2服務器ip以及slave用戶密碼
[client]
port                         = 3307
socket                     = /tmp/mysql3307.sock
[mysqld]
port                         = 3307
socket                     = /tmp/mysql3307.sock
long_query_time    = 3
log-slow-queries    = /home/mysql/data3307/slow.log
log-bin                   = mysql-bin
server-id                 = 101
master-host            = 123.59.7.118
master-user            = slave
master-password   = 123456
--重啓mysql 3307端口服務
[root@localhost ~]# /Data/apps/mysql/bin/mysqladmin --socket=/tmp/mysql3307.sock shutdown
[root@localhost ~]# /Data/apps/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf --datadir=/home/mysql/data3307/ --pid-file=/home/mysql/data3307/localhost.3307.pid &
3、Master 2服務器
--登錄mysql,鎖表(全局讀鎖定,執行了命令之後所有庫所有表都被鎖定只讀)
[root@localhost ~]# mysql
mysql> flush tables with read lock;
--查看master 2狀態並記錄binlog文件和位置
mysql> show master status;

--同時另打開一個窗口連接master 2服務器,進入master 2數據目錄(原窗口不要關閉)
[root@localhost ~]# cd /var/lib/mysql
[root@localhost mysql]# ls

--打包壓縮數據庫相關數據文件
[root@localhost mysql]# tar –cvzf data118_20150608.tar.gz adtime_demo cacti ibdata1 ib_logfile0 ib_logfile1 mysql nobserver_new test zabbix
--遠程拷貝至slave服務器中的數據目錄
[root@localhost mysql]# scp data118_20150608.tar.gz [email protected]:/home/mysql/data3307/
4、Slave服務器(3307)
--slave數據目錄解包解壓縮該文件,並修改所屬用戶所屬組
[root@localhost ~]# cd /home/mysql/data3307
[root@localhost data3307]# tar –xvzf data118_20150608.tar.gz
5、Master 2服務器
--master 2數據庫解鎖
mysql> unlock tables;
6、Slave服務器(3307)
--登錄mysql,停止slave服務,指定master 2數據庫ip、slave用戶密碼、binlog文件號和位置號
[root@localhost ~]# /Data/apps/mysql/bin/mysql  --socket=/tmp/mysql3307.sock
mysql>slave stop
mysql>change master to master_host='123.59.7.118',master_user='slave',master_password='123456',master_log_file='mysql-bin.000724',master_log_pos=8403553;
--啓動slave服務,查看slave狀態,Error爲0表示配置成功無誤
mysql>slave start
mysql>show slave status \G;

到此完成Master2、Slave(3307)配置,這個時候當master 2機器中有數據更新的時候,slave機器中也會同步更新數據庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章