Mysql8.0.26 Linux 主从同步

1.docker安装mysql8.0.26

参考

2.离线安装Linux mysql8.0.26

参考

3.linux主库 docker从库

主库配置

进入my.conf加入一下内容
## 同一局域网内注意要唯一

server-id=10
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin

重新启动mysql服务
service mysql restart

在Master进入mysql,执行
show master status;

Mysql8.0.26 Linux 主从同步_第1张图片

记住File和Position的值,从库需要使用

Mysql8.0.26 Linux 主从同步_第2张图片

从库配置

进入mysql容器
docker exec -it mysql bash

连接数据库
mysql -uroot -proot

Mysql8.0.26 Linux 主从同步_第3张图片

执行:连接主库
change master to master_host='192.168.1.1', master_user='root', master_password='root', master_port=3308, master_log_file='mysql-bin.000004', master_log_pos= 508, master_connect_retry=30;

Mysql8.0.26 Linux 主从同步_第4张图片
查看状态,正常情况下,SlaveIORunning 和 SlaveSQLRunning 都是No,因为我们还没有开启主从复制过程

show slave status \G;

Mysql8.0.26 Linux 主从同步_第5张图片
使用start slave开启主从复制过程,然后再次查询主从同步状态show slave status \G;。

start slave

Mysql8.0.26 Linux 主从同步_第6张图片

如果已经建立过连接,发生SLAVE_IO_RUNNING或者SLAVE_SQL_RUNNING有一个为NO,都需要释放连接

解决办法
1、停止已经启动的绑定

stop slave

2、重置绑定

reset master

3、执行复制主机命令

change master to master_host='192.168.1.1', master_user='root', master_password='root', master_port=3308, master_log_file='mysql-bin.000004', master_log_pos= 508, master_connect_retry=30;

4、启动复制

start slave

5、测试

主库创建数据库,从库自动复制即可。

你可能感兴趣的:(Mysql,Linux,java,linux,mysql,docker)