mysql-5.7.43之主从复制配置详解实例
两台服务器:
10.140.17.99 主数据库
10.140.17.100 从数据库
安装好数据库mysql-5.7.43版本,安装就不在这说了...,接下来步入正题
一、主数据库服务器操作
1、准备主数据库的初始数据快照
在主数据库上使用mysqldump导出所有数据库:
mysqldump -u root -p --all-databases > all_databases.sql
将导出的文件传输到从服务器,如通过scp导入,ftp工具导入到 /data
scp all_databases.sql root@10.140.17.100:/data
在从服务器上登陆数据库,然后通过source命令进行导入
mysql -uroot -p
source /data/all_databases.sql;
2、编辑主服务器(Master)
停止主数据库服务,并编辑my.cnf文件
service mysql stop
vim /etc/my.cnf
在my.cnf文件增加以下配置
#主从复制配置
server-id=99 #随便设置,此处设置为主服务器ip最后一位数
log-bin=mysql-bin #日志文件名称
binlog_format=MIXED #混合模式,也可以选STATEMENT、ROW
sync_binlog=0 # 1-同步写日志;0-缓冲写日志
max_binlog_size=1024M #日志大小
expire_logs_days=14 #日志过期时间
3、创建授权用户
开启mysql服务,并登陆mysql
service mysql satrt
mysql -uroot -p
创建一个从机用户,并指定可以从本机外部进行访问
create user 'slaveProd'@'%' identified by 'SlaveProd@2025!';
grant replication slave,replication client on *.* to 'slaveProd'@'%';
FLUSH PRIVILEGES;
4、查看master状态,并记录File Position数值,后面配置slave会用到
二、从数据库操作
1、配置my.cnf,增加以下配置
2、启动数据库
3、登陆数据库,配置主从复制
CHANGE MASTER TO
MASTER_HOST='10.140.17.99',
MASTER_USER='slaveProd',
MASTER_PASSWORD='SlaveProd@2025!',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=769;
4、启动slave复制进程
5、查看同步状态
SHOW SLAVE STATUS\G;
查看Slave_IO_Running
和Slave_SQL_Running
是否都为Yes
正常就到此结束了,
如果有异常,参考MySQL数据库主从搭建(详细图文)_mysql主从搭建-CSDN博客