1. 程式人生 > >Mysql主從復制(無數據情況)

Mysql主從復制(無數據情況)

地址 log-bin cat mysql- diff manual cati ron png

Mysql主從復制(無數據情況)

環境:

Centos 6.5

Cmake-3.6.2

Mysql-5.5.53

**主mysql (192.168.1.174)操作**

2.修改配置文件

vi /usr/local/mysql/my.cnf

[mysqld]下添加或修改

Service-id = 1 //與從庫id要不一樣

Log-bin = mysql-bin //開啟

技術分享圖片


3.建立與從數據庫同步賬號

service mysql start

[root@localhost ~]# mysql -h 127.0.0.1 -uroot -p ”password” //數據庫登錄密碼

mysql> grant replication slave on *.* to 'rep'@'192.168.%.%' identified by '*@WoP629$#a'; //rep為主從同步賬號 *@WoP629$#a為主從同步密碼


技術分享圖片

4.刷新系統權限表

mysql>flush privileges; //刷新系統權限表

技術分享圖片

5.鎖表;防止數據庫有數據的改動**

mysql> flush tables with read lock;

技術分享圖片

6.查看主庫狀態(重要)

mysql> show master status;

技術分享圖片


這兩個值要做好記錄;從庫同步主庫用。


7.解鎖

mysql> unlock tables;



**從mysql(192.168.1.173)操作**

1.修改配置文件

vi /usr/local/mysql/my.cnf

[mysqld]下添加或修改

Service-id = 2 //與從庫id要不一樣

#Log-bin = mysql-bin //關閉

技術分享圖片


2.從庫配置同步參數

n service mysql start

n mysql -uroot -p’*@WoP629$#a’;

n mysql>change master to master_host='192.168.1.128',master_user='rep',master_password='*@WoP629$#a',master_log_file='mysql-bin.000004',master_log_pos=337;

技術分享圖片

//192.168.1.174為主庫ip地址;rep為同步賬號;*@WoP629$#a為同步密碼

//與主數據庫的文件名,文件位置一致

3.開啟同步

n mysql> start slave;


4. 查看從數據庫狀態

n Mysql>show slave status\G

技術分享圖片




5.測試 master 新建一個good庫

技術分享圖片









出現錯誤:

一:

啟動從服務器進程並查看運行狀態;

mysql> show slave status\G

如果出現如下行,則表明正常啟動 Slave_IO_Running: no Slave_SQL_Running: Yes遇到問題:

Last_IO_Errno: 1593

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).


解決:

查看從庫的server-id

#egerp 'server-id |log-bin' my.cnf

看是否正常。


二:

Slave_IO_Running: Running

Last_IO_Errno: 2003

解決:

可能是主庫防火墻沒有關導致的

去主庫 service iptables stop;

Slave_IO_Running 為connecting,的含義

主要有三個原因

1、網絡不通

2、密碼不對

3、pos不對


Mysql主從復制(無數據情況)