第一步:启动docker
systemctl start docker.service
第二步:用Docker下载MySQL
docker run --name mysql1 -p 33061:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker run --name mysql2 -p 33062:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
第三步:启动MySQL
docker start mysql1
docker start mysql2
第四步:打开Navicat连接mysql1和mysql2,并在mysql1的命令行中输入
grant replication slave on *.* to 'repl'@'%' identified by '123';
第五步:在CentOS中
docker exec -it mysql1 /bin/bash
cat /etc/mysql//mysql.conf.d/mysqld.cnf
复制mysqld.cnf文件内容
exit
第六步:在根目录下创建mysqld.cnf文件,把复制的内容粘贴进来,并添加如下内容
[mysqld]
log-bin=/var/lib/mysql/binlog
server-id=1
//表示只复制hxdb数据库
binlog-do-db=hxdb
第七步:移动mysqld.cnf文件
docker cp ./mysqld.cnf mysql1:/etc/mysql/mysql.conf.d/
第八步:重启mysql1
docker restart mysql1
第九步:配置mysql2
docker exec -it mysql2 /bin/bash
cat /etc/mysql//mysql.conf.d/mysqld.cnf
复制mysqld.cnf文件内容
exit
第十步:将根目录下的mysqld.cnf文件修改为
[mysqld]
#添加配置
server-id=2
第十一步:复制mysqld.cnf文件到mysql2的配置文件下,并重启mysql2
docker cp ./mysqld.cnf mysql2:/etc/mysql/mysql.conf.d/
docker restart mysql2
docker exec -it mysql2 /bin/bash
mysql -u root -p
第十二步:配置从机
master_host的地址是你虚拟机里CentOs的ip地址
change master to master_host='192.168.133.8',master_port=33061,master_user='repl',master_password='123',master_log_file='binlog.000001',master_log_pos=154;
启动从机
start slave;
show slave status\G;