說明:-u :用戶名 -p :密碼 --lock-all-tables :執行操作時鎖住所有表,防止操作時有資料修改
1、設定mysql組態檔[ 我使用的寶塔,所以直接在軟體商店的mysql里邊直接進行配置設定 ]
主服務器:【mysqld】:log-bin=mysql-bin log_slave_updates=1 skip-grant-tables【跳過驗證權限】 server-id = 1
從服務器:【mysqld】:log-bin=relay-bin server-id = 2 skip-grant-tables【跳過驗證權限】
注:一定要放行3306埠,否則連接不上!配置成功后,重啟mysql服務;我是手動直接點擊重啟的!
2、登錄到主服務器的mysql;創建一個在從服務器上同步時使用的賬號;
創建賬戶:create user '用戶名'@'訪問主機' identified by '密碼';
賦予權限:grant 權限串列 on 資料庫 to '用戶名'@'訪問主機' ;【GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';】
注:我已經在mysql里創建好了賬號和密碼,所以直接利用第二句給創建的賬號賦予的權限;賦予權限時可以直接給從服務器root賦予權限,也可以給root下子賬號賦予權限;
完成之后使用“FLUSH PRIVILEGES”進行重繪;
3、在主服務器終端獲取二進制日志資訊;
SHOW MASTER STATUS;

注:File為使用的日志檔案名字,Position為使用的檔案位置,這兩個引數須記下,配置從服務器時會用到
4、進入從服務器,進入到mysql,設定連接master主服務器
change master to master_host='主服務器IP', master_user='賬號', master_password='密碼',master_log_file='mysql-bin.000008', master_log_pos=107;
- master_host:主服務器Ubuntu的ip地址;
- master_log_file: 前面查詢到的主服務器日志檔案名;
- master_log_pos: 前面查詢到的主服務器日志檔案位置

5、開啟同步,查看同步狀態

6、測驗主從同步
在主服務器mysql中創建一個資料庫,

在從服務器中查看新建的資料庫是否存在;

7、其他的坑:
查看復制賬戶是否存在且是否賦予權限:mysql> show grants for 'usvr_replication'@'%';
+-----------------------------------------------------------------------------------------------------------------------------+
| Grants for usvr_replication@% |
+-----------------------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'usvr_replication'@'%' IDENTIFIED BY PASSWORD '*F4039654D0AFD80BB0A7775938EFD47ACB809529' |
+-----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
————————————————
從B使用該賬戶連接至A mysql -uusvr_replication -h 192.168.83.35 -p -P55944
如果第一次嘗試復制失敗后,在進行第二次嘗試時候必須停止第一次的鏈接stop slave;
上述方法在做的時候未進行從服務器權限配置,因為從服務器在配置完成后已經鎖住,當你在從服務器中表中加入資料時候,主服務器資料并不會做出改動,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/58194.html
標籤:MySQL
上一篇:MySQL 存盤程序
