千家信息网

mysql5.7主从同步配置

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,1. 准备工作(本文永久地址:http://woymk.blog.51cto.com/10000269/1922438)配置环境:centos6.9,mysql5.7先安装、配置好两台MySQL服务器
千家信息网最后更新 2025年12月03日mysql5.7主从同步配置

1. 准备工作

(本文永久地址:http://woymk.blog.51cto.com/10000269/1922438)

配置环境:centos6.9,mysql5.7

先安装、配置好两台MySQL服务器

主服务器IP:192.168.1.1

从服务器IP:192.168.1.2

mysql的安装请参考之前的文章:

LAMP环境搭建(centos6.9+apache2.4+mysql5.7+php7.1)



2. 配置主(master)
vi /etc/my.cnf
修改或添加下面这几行:
server-id=1

log-bin=mysql-bin # 启用二进制日志

两个可选参数(2选1):
binlog-do-db=db1,db2 #需要同步的库
binlog-ignore-db=db1,db2 #忽略不同步的库

保存后重启

/etc/init.d/mysqld restart

运行mysql客户端
mysql -uroot -p

创建同步账号

grant replication slave on *.* to 'repl'@'192.168.1.2' identified by '1234';
flush privileges;

锁表,不让数据写入

flush tables with read lock;
show master status;

记录下二进制日志文件名和位置


备份数据库

在master上执行
mysqldump -uroot -p db1 > back.sql;

把备份好的数据拷贝到从服务器

scp back.sql 192.168.1.2:~


3. 配置从(slave)

vi /etc/my.cnf
修改或增加:
server-id=2 #这个数值不能和主一样
可选参数(2选1,这两个参数设置成和主一样):
replicate-do-db=db1,db2
replicate-ignore-db=db1,db2

保存后重启

/etc/init.d/mysqld restart

把主服务器备份的数据导入从服务器

在slave上执行
[root@slave ~]# mysqldump -uroot -p db1 < back.sql

运行mysql客户端

mysql -uroot -p

执行以下命令
stop slave; (根据mysql官方手册的说明,5.5之前是slave stop,5.6之后改为stop slave)
change master to master_host='192.168.1.1', master_user='repl', master_password='1234',master_log_file='mysql-bin.000001', master_log_pos=2757;

(master_log_file和master_log_pos填上刚才记录下的二进制日志文件名和位置)

start slave;

查看从服务器的状态:

show slave status\G


完成后取消主服务器数据库的锁定

在主上执行
mysql> unlock tables;


4. 验证主从复制效果

在主服务器上创建数据库test_db

create database test_db;

在主服务器上创建表test_tb

use test_db;

create table test_tb(id int(3),name char(10));

写入一行记录

insert into test_tb values(001,"test");


在从服务器上查看

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| discuz |
| mysql |
| performance_schema |
| sys |
| test_db |
| www |
+--------------------+

7 rows in set (0.00 sec)

数据库test_db已经自动创建了

mysql> select * from test_db.test_tb;
+------+------+
| id | name |
+------+------+
| 1 | test |
+------+------+
1 row in set (0.00 sec)

表里的数据也已经自动复制过来了,说明主从同步配置成功。




配置mysql主从时,如果显示下列错误:

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

这是因为mysql是克隆过来的,或者拷贝整个data目录时把auto.cnf文件也拷贝过来了,导致主从mysql uuid相同, Slave_IO无法启动。

解决办法:修改mysql data 目录下auto.cnf 文件中uuid的值,或者删除auto.cnf文件后重启mysql服务让它自动生成新的uuid值。


服务 服务器 数据 配置 文件 主从 同步 数据库 二进制 参数 备份 拷贝 日志 两个 位置 客户 客户端 文件名 环境 目录 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新一代的ip网络技术是 江苏智能软件开发厂家批发价 成都贰零贰零互联网科技有限公司 公安局网络安全备案模板 虚拟机挂载虚拟服务器报错 asp 流媒体服务器 公安机关网络安全的管辖地 共同推进网络安全教育日 台式系统日期与服务器日期不一致 t6s数据库安装 芷江网络安全监察部门 上海浦发360网络安全吗 厦门大学中外合作办学数据库 软件开发团队组织形式 科技发展与互联网的关系 数据库系统工程师课程视频 oa办公软件开发联系方式 网络安全名词解释假冒 赌博软件开发教程下载 web服务器无法调用本地资源 软件数据库的版本在哪里看 如何查看云服务器连接 计算机网络技术专业技术擅长 管理数据库实验报告 育碧服务器舞力全开 gs数据库怎么指定计算值的精度 如何避免需求和软件开发不一致 广州云飞软件开发有限公司 科技中国有机谷互联网 电脑网络搜不到方舟服务器
0