percona-mysql5.7配置主從

主庫:mysql

- 修改配置文件sql

 'binlog-do-db = test' 僅記錄'test'庫,用來作數據同步。  'binlog-ignore-db' 僅不記錄'mysql',其餘庫數據均可以同步。  數據庫同步規則表中互有衝突,建議僅使用一種規則配置多行數據庫

vim /etc/mysqlvim

[mysqld]
server-id = 10
log-bin=mysql-bin
binlog-do-db = test
binlog-ignore-db = mysql

- 重啓mysql進程服務器

systemctl restart mysqld

- 建立同步賬號rest

 用戶名:slave_user  賬號可用範圍:10.10.10.%  密碼:123456code

mysql -uroot -p -e "GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'slave_user'@'10.10.10.%' IDENTIFIED BY '123456';"

- 檢查服務器配置及運行狀態server

 記錄'File'以及'Position'的值,從庫配置同步節點需用。進程

mysql -uroot -p -e "show variables like 'server_id'"
mysql -uroot -p -e "show master status"

從庫:ip

- 修改配置文件

 每一臺主從服務器的'server-id'都不能夠重複  'replicate-do-db = test' 僅同步'test'庫  'replicate-ignore-db = mysql' 僅步同步'mysql'庫  'replicate-wild-do-table = test.%' 僅同步'test'庫中全部表(如需指定表,將通配符'%'更換成表名稱)。  'replicate-wild-ignore-table = mysql.%' 僅不一樣步'mysql'庫中全部表(如需指定表,將通配符'%'更換成表名稱)。  'slave-skip-errors = all' 同步過程當中,忽略全部錯誤。  數據庫同步規則表中互有衝突,建議僅使用一種規則配置多行

vim /etc/mysql

[mysqld]
server-id = 11
log-bin = mysql-bin
replicate-do-db = test
replicate-ignore-db = mysql
replicate-wild-do-table = test.%
replicate-wild-ignore-table = mysql.%
slave-skip-errors = all

- 重啓mysql進程

systemctl restart mysqld

- 建立從庫與主庫的同步關係

mysql -uroot -p

> stop slave ;
> change master to master_host='10.10.10.10',master_port=3306,master_user='slave_user',master_password='123456',master_log_file='mysql-bin.000001' ,master_log_pos=154;
> start slave ;

- 檢查從庫是否同步成功

 'Slave_IO_Running: Yes' (負責與主庫同步IO通訊)  'Slave_SQL_Running: Yes' (負責自身slave mysql進程)

mysql -uroot -p -e "show slave status \G"
相關文章
相關標籤/搜索