MySQL(master)主上操作
dokcer pull mysql:5.6
docker run --name master -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:5.6
docker cp master:/etc/my.cnf ./
vim my.cnf
server-id=1
log-bin=mysqlbin
relay-log=relays
docker cp my.cnf master:/etc/my.cnf
docker restart master
docker exec -it master mysql -p123
mysql> grant replication slave on *.* to 'tom'@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysqlbin.000001 | 396 | | | |
+------------------+----------+--------------+------------------+-------------------+
MySQL(slave)上操作
docker run --name slave -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:5.6
docker cp slave:/etc/my.cnf ./
vim my.cnf
server-id=2
log-bin=mysqlbin
relay-log=relays
docker cp my.cnf slave:/etc/my.cnf
docker restart slave
docker exec -it slave mysql -p123
mysql> stop slave;
mysql> change master to
-> master_host='192.168.234.128',
-> master_port=3307,
-> master_user='tom',
-> master_password='123',
-> master_log_file='mysql-bin.000001',
-> master_log_pos=396;
mysql> start slave;
mysql> show slave status \G;