MySQL 主从复制步骤,版本5.7

1.修改主服务器mysql配置

首先修改主服务器权限

如果执行下面的语句返回 ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'

可以先执行 show variables like 'validate_password%';

如果返回 Empty set

在mysql命令行中执行  install plugin validate_password soname 'validate_password.so'; 就行了


set global validate_password_policy=0;
set global validate_password_length=1;
 
 
# 修改远程权限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
 
# 刷新权限
flush privileges;
# 打开配置文件
vi /etc/my.cnf


# 修改配置文件 mysqld模块中如下配置
log-bin=master-bin #二进制文件名称
binlog-format=ROW  #二进制日志格式,有row/statement/mixed三种格式,row把改变的内容复制过来 而不是把命令在从服务器上执行一遍 , statement是主服务器上执行的sql语句  在从服务器上执行同样的语句 ,mixed是默认采用基于语句的我无法精确的复制时 就会采用基于行的复制 . . .   mysql默认采用语句的复制 , 效率比较高
server-id=1        #要求各服务器的id必须不一样
binlog-do-db=msb   #同步的数据库名称 , 不是所有数据库都复制可以不指定

重启主服务器mysql后执行 show master status

2. 修改从服务器配置

首先创建database , 名字为msb(主服务器同步同名)

配置从服务器登录主服务器的账号权限


set global validate_password_policy=0;
set global validate_password_length=1;
 
 
# 修改复制权限
grant replication slave on *.* to 'root'@'%' identified by '123456';
 
# 刷新权限
flush privileges;

 修改从服务器配置/etc/my.cnf

#mysqld模块中添加配置
log-bin=master-bin #二进制文件名称
binlog-format=ROW  #二进制文件格式
server-id=2        #服务器id ,不可重复

重启从服务器后命令行登录

连接主服务器

#连接主服务器
主服务器查看配置  show master status;


change master to master_host='192.168.149.140',master_user='root',master_password='123456',master_port=3306,master_log_file='mysql-bin.000009',master_log_pos=154;


master_host        主服务器地址
master_user        主服务器用户
master_password    主服务器密码
master_port        主服务器端口
master_log_file    主服务器文件名
master_log_pos     主服务器文件位置


也可以在数据库中添加配置文件
server_id = 2
log-bin = /usr/local/mysql/log/solve-bin.log
master-host = 192.168.149.140
master-user = root
master-pass = 123456
master-port = 3306
master-connect-retry = 60
#启动slave

start slave;

#查看slave状态 (这里注意没有分号)

show slave status\G

主要查看slave_io_running 和 slave_sql_running

如果这两个有任何一个不是 yes , 可以在/var/log/mysqld.log  或者show slave status\G中查看

报错信息 每次都需要stop slave 重新执行

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it)

在mysql命令行中查询  
show variables like 'server_id';


 如果主从数据库是一致的,配置文件没有生效, 可以运行   但是会重启失效
set global server_id=3 

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.


可以运行 下句 , 看下主从数据库是一样的值吗 , 是一样的就找到问题了
show variables like 'server_uuid';

其他问题自行百度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MySQL 5.7主从复制配置步骤如下: 1. 在主库上重启MySQL服务并进入MySQL控制台。创建一个用于从库复制的用户,并为其授权。 ``` CREATE USER 'slave'@'%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%'; ``` 2. 在主库上查看主库参数,记住File和Position对应的参数值,从库需要配置这些参数。 ``` show master status; ``` 3. 在从库上重启MySQL服务并进入MySQL控制台。配置主库参数,将master_log_file设置为主库的File值,将master_log_pos设置为主库的Position值。 ``` change master to master_host='192.168.1.15', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000003', master_log_pos=2336, master_connect_retry=30; ``` 4. 在从库上启动主从复制。 ``` start slave; ``` 5. 查看主从复制状态,确保Slave_IO_Running和Slave_SQL_Running都为Yes。 ``` show slave status \G; ``` 6. 若要修改MySQL配置文件,进入配置文件中的部分,插入或修改以下关键配置: ``` [mysqld] log-bin=mysql-bin server-id=1 ``` 请确保在配置主从复制之前,主库和从库之间可以正常通信,且主库的binlog模式已经开启。当主从复制配置成功后,从库会自动从主库同步数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MySQL 5.7 主从复制](https://blog.csdn.net/MrYang_Wei/article/details/129587645)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [MySQL5.7主从复制](https://blog.csdn.net/qq_43681755/article/details/108365639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苗先生的PHP记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值