1、环境,版本5.6
-
master1:10.10.10.20
-
master2:10.10.10.30
2、在master1上创建表
-
master1:
-
mysql> use test;
-
Database changed
-
mysql> show tables;
-
Empty set (0.00 sec)
-
-
mysql> create table t1 (id int primary key auto_increment,name varchar(50));
-
Query OK, 0 rows affected (0.21 sec)
-
-
mysql> select * from t1;
-
Empty set (0.00 sec)
-
-
mysql> insert into t1 (name) values ('aaaaa');
-
Query OK, 1 row affected (0.06 sec)
-
-
mysql> select * from t1;
-
+----+-------+
-
| id | name |
-
+----+-------+
-
| 1 | aaaaa |
-
+----+-------+
-
1 row in set (0.00 sec)
3、备份表
-
mysql> flush table with read lock;
-
Query OK, 0 rows affected (0.00 sec)
-
-
mysql> exit
-
Bye
-
-
root@master1:/root# mysqldump -u root -p -c test > /tmp/test1.sql
-
Enter password:
-
root@master1:/root# scp /tmp/test1.sql 10.10.10.30:/tmp/
-
root@10.10.10.30
-
test1.sql 100% 1907 1.9KB/s 00:00
4、在master1和master2上创建复制用户和授予权限
-
mysql> create user rep_user;
-
Query OK, 0 rows affected (0.00 sec)
-
-
mysql> grant replication slave on *.* to rep_user identified by 'rep_user';
-
Query OK, 0 rows affected (0.00 sec)
-
-
mysql> grant replication client on *.* to rep_user identified by 'rep_user';
-
Query OK, 0 rows affected (0.00 sec)
-
-
mysql> grant super on *.* to rep_user identified by 'rep_user';
-
Query OK, 0 rows affected (0.00 sec)
-
-
mysql> show grants for rep_user;
-
+------------------------------------------------------------------------------------------------------------------------------------------------+
-
| Grants for rep_user@% |
-
+------------------------------------------------------------------------------------------------------------------------------------------------+
-
| GRANT SUPER, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'rep_user'@'%' IDENTIFIED BY PASSWORD '*66275EE2A4400687CE14AD3B2CEE003B1B753575' |
-
+------------------------------------------------------------------------------------------------------------------------------------------------+
-
1 row in set (0.01 sec)
5、在master1、master2上更改参数,并重启
-
master1:
-
vi /etc/my.cnf
-
server-id = 20
-
replicate-same-server-id = 0
-
auto-increment-increment = 2
-
auto-increment-offset = 1
-
log-bin = master1-bin
-
log-bin-index = master1-bin.index
-
binlog-do-db = test
-
-
relay-log = slave-relay-bin
-
relay-log-index = slave-relay-bin.index
-
log-slave-updates
-
-
master2:
-
vi /etc/my.cnf
-
server-id = 30
-
replicate-same-server-id = 0
-
auto-increment-increment = 2
-
auto-increment-offset = 1
-
log-bin = master2-bin
-
log-bin-index = master2-bin.index
-
binlog-do-db = test
-
-
relay-log = slave-relay-bin
-
relay-log-index = slave-relay-bin.index
-
log-slave-updates
6、在master1和master2上查看pos点
master1:
-
mysql> show master status \G
-
*************************** 1. row ***************************
-
File: master1-bin.000002
-
Position: 120
-
Binlog_Do_DB: test
-
Binlog_Ignore_DB:
-
Executed_Gtid_Set:
-
1 row in set (0.00 sec)
master2:
-
mysql> show master status \G
-
*************************** 1. row ***************************
-
File: master2-bin.000002
-
Position: 120
-
Binlog_Do_DB: test
-
Binlog_Ignore_DB:
-
Executed_Gtid_Set:
-
1 row in set (0.00 sec)
7、在master2上导入数据
-
root@master2:/root# mysql -u root -p -D test < /tmp/test1.sql
-
Enter password:
8、启动同步
master1:
-
mysql> CHANGE MASTER TO
-
-> MASTER_HOST = '10.10.10.30',
-
-> MASTER_PORT = 3306,
-
-> MASTER_USER = 'rep_user',
-
-> MASTER_PASSWORD = 'rep_user',
-
-> MASTER_LOG_FILE = 'master2-bin.000002',
-
-> MASTER_LOG_POS = 120;
-
Query OK, 0 rows affected, 2 warnings (0.07 sec)
-
-
mysql> start slave;
-
Query OK, 0 rows affected (0.00 sec)
master2:
-
mysql> CHANGE MASTER TO
-
-> MASTER_HOST = '10.10.10.20',
-
-> MASTER_PORT = 3306,
-
-> MASTER_USER = 'rep_user',
-
-> MASTER_PASSWORD = 'rep_user',
-
-> MASTER_LOG_FILE = 'master1-bin.000002',
-
-> MASTER_LOG_POS = 120;
-
Query OK, 0 rows affected, 2 warnings (0.01 sec)
-
-
mysql> start slave;
-
Query OK, 0 rows affected (0.00 sec)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12219480/viewspace-1767225/
,如需转载,请注明出处,否则将追究法律责任。