Mysql8.0.26 Linux 主从同步

22 篇文章 0 订阅
12 篇文章 0 订阅

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;

在这里插入图片描述

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

在这里插入图片描述

从库配置

进入mysql容器
docker exec -it mysql bash

连接数据库
mysql -uroot -proot

在这里插入图片描述

执行:连接主库
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;

在这里插入图片描述
查看状态,正常情况下,SlaveIORunning 和 SlaveSQLRunning 都是No,因为我们还没有开启主从复制过程

show slave status \G;

在这里插入图片描述
使用start slave开启主从复制过程,然后再次查询主从同步状态show slave status \G;。

start slave

在这里插入图片描述

如果已经建立过连接,发生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、测试

主库创建数据库,从库自动复制即可。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux 上配置 MySQL 主从同步需要进行以下步骤: 1. 安装 MySQL:使用适合您的 Linux 发行版的包管理工具安装 MySQL。 2. 配置主服务器(Master): - 编辑主服务器的配置文件 my.cnf,通常位于 /etc/mysql/my.cnf。 - 找到并修改以下参数: ``` server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name ``` 这些参数将启用二进制日志和为特定数据库启用二进制日志复制。将 `your_database_name` 替换为您要复制的数据库名称。 - 重启 MySQL 服务器以使更改生效。 3. 配置从服务器(Slave): - 编辑从服务器的配置文件 my.cnf,通常位于 /etc/mysql/my.cnf。 - 找到并修改以下参数: ``` server-id = 2 relay_log = /var/log/mysql/mysql-relay-bin.log log_bin = /var/log/mysql/mysql-bin.log read_only = 1 ``` 这些参数将设置从服务器的身份、设置中继日志和启用只读模式。 - 重启 MySQL 服务器以使更改生效。 4. 在主服务器上创建用于复制的用户: - 登录到主服务器的 MySQL 控制台:`mysql -u root -p` - 创建用于复制的用户并授予复制权限: ``` CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES; ``` 将 `replication_user` 替换为您选择的用户名,并为其设置密码。 5. 备份主服务器数据: - 使用 `mysqldump` 命令备份主服务器的数据: ``` mysqldump -u root -p --opt your_database_name > database_backup.sql ``` 将 `your_database_name` 替换为您要备份的数据库名称。 6. 在从服务器上设置复制: - 登录到从服务器的 MySQL 控制台:`mysql -u root -p` - 运行以下命令来设置复制: ``` CHANGE MASTER TO MASTER_HOST = 'master_server_ip', MASTER_USER = 'replication_user', MASTER_PASSWORD = 'password', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 0; ``` 将 `master_server_ip` 替换为主服务器的 IP 地址,`replication_user` 和 `password` 替换为之前创建的复制用户的用户名和密码。 - 启动复制:`START SLAVE;` 现在,主从同步应该已经配置完成。您可以使用 `SHOW SLAVE STATUS\G;` 命令来检查从服务器的状态,确保复制正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值