mysql主从同步(5.7)
2022/4/6 19:21:15
本文主要是介绍mysql主从同步(5.7),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、环境准备
1.1 使用docker容器
准备两个mysql的docker容器,并将对应的配置文件映射到主机目录中(或者不做映射,直接进入容器进行修改)。
1.2 使用实体机或虚拟机
直接准备两台虚拟机或者实体机,安装上mysql数据库
二、主从同步
2.1 配置主服务器
2.1.1 修改主服务器mysql配置文件(my.cnf), 添加一下内容
[mysqld] ## 同一局域网中要注意唯一 server-id=1 ## 开启二进制日志文件功能,可以自定义名称(关键) log-bin=mysql-bin
2.1.2 重启mysql
2.1.2.1 docker容器
- 进入docker容器
docker exec -it mysql /bin/bash
- 执行命令
service mysql restart
- 退出容器
- 重启容器
docker restart mysql
2.1.2.2 实体机或者虚拟机安装
service restart mysqld
2.1.3 查看 skip_networking 状态
确保在主服务器上的 skip_networking 选项处于 OFF 关闭状态,这是默认值。
如果是启用的,则从数据库服务与主数据库通信,并且复制失败。
## 登录 mysql:mysql -u root -p "密码" ## 查看状态 show variables like '%skip_networking%';
2.1.4 创建用于复制的用户
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
2.2 配置从服务器
2.2.1修改从服务器mysql配置文件(my.cnf),添加一下内容
[mysqld] server-id=2
2.2.2 重启mysql(和上面一致)
2.2.3 配置连接主数据库的相关信息
在从数据库服务器配置连接到主数据服务器的相关信息
## 登录到从数据库 mysql -u root -p "密码" ## 执行 ## xxx.xxx.xxx.xxx 主数据库ip地址,分为两种情况 ## 如果是同一台服务器上的两个docker容器,则使用 docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称/容器ID; mysql > **CHANGE MASTER TO MASTER_HOST='XXX.XXX.XXX.XXX',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='password';** ## 启动从服务器数据库同步线程 mysql > start slave;
2.2.4 查看同步状态
show slave status \G;
2.3 测试
在主服务器数据库,创建一个数据库,发现从服务器数据库中同步新建的相同的数据库,就成功。
2.4 其他
如果还需要配置多余的从服务器数据库,可以遵循上面的配置,添加一个配置就行。新建的从服务器数据库,会自动保存主服务器数据库之前的数据。
这篇关于mysql主从同步(5.7)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程