1. 程式人生 > >Linux下mysql主從複製配置(CentOS7)

Linux下mysql主從複製配置(CentOS7)

主從複製需要注意:

1、資料庫版本必須一致

2、資料庫名稱必須一致   例如db888

3、配置主資料庫開啟二進位制日誌

4、主資料庫、從資料庫必須具有一個唯一的server-id

配置主從資料庫複製:

一:操作主庫

1、修改主庫的配置檔案

    vi /etc/my.cnf    

  找到[mysqld] ,在下面新增

    binlog-do-db=db888                      //多個庫同步用逗號隔開     binlog-ignore-db=mysql     log-bin=mysql-bin                          //啟用二進位制日誌     server-id=94                                  //伺服器唯一ID,一般取IP最後一段

2、重啟mysql服務

    systemctl restart mysqld

3、登入主伺服器 mysql

     mysql -uroot -p123

4、建立從伺服器獲取日誌檔案的賬號

    grant replication slave on *.* to 'backup'@'%' identified by '123456';

    重新整理許可權

    flush privileges;

5、檢視主伺服器狀態

    show master status;

  注意:File 、   Position 很重要,記錄下來,稍後配置從庫的時候要用到

二:操作從庫

 1、修改從庫的配置

    vi /etc/my.cnf

   [mysqld] 後面增加     server-id=95                          //伺服器唯一ID,一般取IP最後一段

2、重啟mysql伺服器

    systemctl restart mysqld

3、登入從庫 mysql

    mysql -uroot -p123

4、配置從資料庫掛載主庫

    mysql> change master to     -> master_host='10.10.13.94',     -> master_port=3306,     -> master_user='backup',     -> master_password='123456',     -> master_log_file='mysql-bin.000001',     //主伺服器最後記錄下來的File 日誌檔名稱            -> master_log_pos=583;                           //主伺服器最後記錄下來的Position 程序號

5、啟動從庫

    start slave;

6、檢視主從複製狀態

    show slave status \G;

如果看到 Slave_IO_Running: Yes                Slave_SQL_Running: Yes

說明配置成功,操作資料庫即可。

注:

錯誤處理

    如果出現此錯誤:

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be        different for replication to work.

    因為是mysql是克隆的系統所以mysql的uuid是一樣的,所以需要修改。

解決方法:

    刪除/var/lib/mysql/auto.cnf檔案,重新啟動服務