說明:-u :用戶名 -p :密碼 --lock-all-tables :執行操作時鎖住所有表,防止操作時有數據修改 1、設置mysql配置文件[ 我使用的寶塔,所以直接在軟體商店的mysql裡邊直接進行配置設置 ] 主伺服器:【mysqld】:log-bin=mysql-bin log_slave ...
說明:-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;
上述方法在做的時候未進行從伺服器許可權配置,因為從伺服器在配置完成後已經鎖住,當你在從伺服器中表中加入數據時候,主伺服器數據並不會做出改動。