MySQL5.7主从复制-异步复制搭建
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,两台服务器,系统是Redhat6.5,MySQL版本是5.7.18。1、在主库上,创建复制使用的用户,并授予replication slave权限。这里创建用户repl,可以从IP为10.10.10.
千家信息网最后更新 2026年11月01日MySQL5.7主从复制-异步复制搭建两台服务器,系统是Redhat6.5,MySQL版本是5.7.18。
1、在主库上,创建复制使用的用户,并授予replication slave权限。这里创建用户repl,可以从IP为10.10.10.210的主机进行连接。
grant replication slave on *.* to 'repl'@'10.10.10.210' identified by 'mysql';
2、修改主服务器配置,加入如下配置:
cat /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog_format=mixed
3、在主库上,设置读锁,确保没有数据操作,获得一个一致性的快照
flush tables with read lock;
4、然后在主库上获得当前二进制日志名和偏量值,改操作的目的是从库启动之后,从这个点开始恢复数据。
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000006 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
5、利用mysqldump导出数据,拷贝至从库服务器。
6、主库备份完成,恢复写操作
unlock tables;
7、修改从库的配置文件,添加如下参数,注意server-id必须是唯一的,不能和主库相同,多个从库的话,server-id不能有重复。
cat /etc/my.cnf
[mysqld]
server-id=2
8、在从库上,使用--skip-slave-start启动数据库,这样不会立即启动从库上的复制进程,方便我们进行下一步配置。
./bin/mysqld_safe --skip-slave-start &
9、对从库进行配置,指定复制使用的用户,主库的IP、端口以及开始执行复制的日志文件和位置等:
change master to
master_host='10.10.10.200',
master_port=3306,
master_user='real',
master_password='mysql',
master_log_file='mysql-bin.000006',
master_log_pos=120;
10、在从库上启动slave线程
start slave;
11、在从库上查看slave状态
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.10.200
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000006
Read_Master_Log_Pos: 120
Relay_Log_File: mysql-relay-bin.000026
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 619
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: 4adfcd1d-4059-11e7-9532-080027d597f9
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
12、在主库进行DDL或者DML测试,在从库查看数据同步情况
1、在主库上,创建复制使用的用户,并授予replication slave权限。这里创建用户repl,可以从IP为10.10.10.210的主机进行连接。
grant replication slave on *.* to 'repl'@'10.10.10.210' identified by 'mysql';
2、修改主服务器配置,加入如下配置:
cat /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog_format=mixed
3、在主库上,设置读锁,确保没有数据操作,获得一个一致性的快照
flush tables with read lock;
4、然后在主库上获得当前二进制日志名和偏量值,改操作的目的是从库启动之后,从这个点开始恢复数据。
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000006 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
5、利用mysqldump导出数据,拷贝至从库服务器。
6、主库备份完成,恢复写操作
unlock tables;
7、修改从库的配置文件,添加如下参数,注意server-id必须是唯一的,不能和主库相同,多个从库的话,server-id不能有重复。
cat /etc/my.cnf
[mysqld]
server-id=2
8、在从库上,使用--skip-slave-start启动数据库,这样不会立即启动从库上的复制进程,方便我们进行下一步配置。
./bin/mysqld_safe --skip-slave-start &
9、对从库进行配置,指定复制使用的用户,主库的IP、端口以及开始执行复制的日志文件和位置等:
change master to
master_host='10.10.10.200',
master_port=3306,
master_user='real',
master_password='mysql',
master_log_file='mysql-bin.000006',
master_log_pos=120;
10、在从库上启动slave线程
start slave;
11、在从库上查看slave状态
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.10.200
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000006
Read_Master_Log_Pos: 120
Relay_Log_File: mysql-relay-bin.000026
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 619
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: 4adfcd1d-4059-11e7-9532-080027d597f9
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
12、在主库进行DDL或者DML测试,在从库查看数据同步情况
数据
配置
服务器
用户
服务
文件
日志
相同
一致
一致性
主机
二进制
位置
参数
备份
多个
快照
情况
拷贝
数据库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
蓝思科技飞鸽互联网
科技互联网龙头
新华互联网科技学院
科技制造互联网公司
互联网科技金融公司
西安互联网科技
亿策互联网科技
壹账通互联网科技
上海亿帐通互联网科技
互联网科技股午盘股票涨跌
成都仁贤领冠互联网科技有限公司
互联网科技中介
互联网经济与金融科技
宝灵互联网科技有限公司
千方科技属于互联网企业吗
移动互联网科技公司
区块链结合互联网科技
米泉互联网科技专业怎么样
黑龙江互联网科技公司
优雇互联网科技有限公司
咖啡网
什么是科技互联网
中国 科技 互联网
互联网高科技股票
新华互联网科技2019
互联网金融科技公司干啥的
互联网5g黑科技有哪些
中国新注册互联网科技
科技互联网经济论坛
高科技和互联网的现代国家