linux配置 資料庫主從同步
阿新 • • 發佈:2018-11-22
資料庫的讀寫分離能很大程度上減輕資料庫的壓力,讀寫分離的前提就是主從資料同步,然後在主庫做增刪改,從庫做查詢。
例如:
主庫: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