1. 程式人生 > >linux配置 資料庫主從同步

linux配置 資料庫主從同步

資料庫的讀寫分離能很大程度上減輕資料庫的壓力,讀寫分離的前提就是主從資料同步,然後在主庫做增刪改,從庫做查詢。

例如:

主庫:192.168.0.1

從庫:192.168.0.2

兩個資料庫都安裝了Mysql資料庫,保證允許遠端連線

主資料庫配置

1.修改mysql配置檔案 /etc/my.cnf,這部分一定要配置在[mysqld]後面

[mysqld] 
log-bin=mysql-bin  
server-id=1      //設定資料庫伺服器唯一ID,這裡我們指定為1。
binlog-do-db=hyii2  //設定需要同步的資料庫,如果需要設定多個,則加入多條這行語句。

2.重啟資料庫

systemctl mysql restart

3.登入主庫

mysql -u root -p //然後輸入密碼登入

4.進入資料庫之後給主資料庫授權一個可以進行復制的使用者,執行如下命令:

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

注意:使用者名稱slave和密碼123456可以自定義

5.檢視是否建立成功,命令如下

mysql> use mysql;
mysql> select user,host from user;

6、檢視主庫資訊

mysql> show master status;

注意:記錄下這些值,在從庫配置的時候要用到

7.遷移資料,將主庫的hyii2資料複製到從庫,保證主從庫擁有兩個一樣的資料庫hyii2

從資料庫配置

1.連線從庫,修改mysql配置檔案 /etc/my.cnf,這部分一定要配置在[mysqld]後面

[mysqld]
log-bin=mysql-bin
server-id=2
replicate-do-db=hyii2
master-host=192.168.0.2
master-user=slave
master-password=123456

 

 2.登入到從庫的資料庫,做同步設定(此處要用到上面6中記錄的資料)

mysql> slave stop; //先關閉庫服務

mysql> change master to 
master_host='192.168.0.2',
master_user='slave',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=392;

mysql> slave start; //啟動庫服務

注意:語句中的逗號不要有空格,可以連在一起寫,(為了方便閱讀做了換行),語句中的slave不是使用者名稱

3.測試同步結果

在主庫hyii2中新建一個表test,然後看下從庫是否相應生成對應的test表,如果生成了那麼恭喜你,主從同步配置就成功了。

來源:http://www.yii-china.com/post/detail/283.html

 mysql資料主從同步失敗解決方案