目录
slave_io_running一直是connecting状态
既然是主从复制,最少要有两个数据库。
我的是一个在windows系统上,一个在centos系统上,如果不知道怎么在centos系统上安装mysql,请移步
虚拟机中安装centos,保姆级别教程_wai_58934的博客-CSDN博客虚拟机上安装centos,附带centos如何开启网络以及centos图形化界面安装https://blog.csdn.net/wai_58934/article/details/122286369?spm=1001.2014.3001.5501centos7中安装mysql教程以及处理mysql密码忘记问题_wai_58934的博客-CSDN博客centos配置mysql服务以及跳过mysql密码验证设置新密码。简单明了,装起来吧。https://blog.csdn.net/wai_58934/article/details/122287710?spm=1001.2014.3001.5501安装的mysql大版本要一致(不必须,最好一致),比如5.7.19和5.7.36是可以的。
注意:两个ip要能互相ping的通,要关闭防火墙
修改windows端
我把windows端的mysql作为master。
我只需要在安装mysql根目录下的my.ini配置文件里开启binlog以及设置server-id为1。即:
然后重启mysql。
修改centos端
我把centos端作为从端。用管理员权限进入到/etc/my.cof。
sudo vi /etc/my.cnf
添加server-id以及开启binlog
在windows中配置从数据库
使用该命令配置从数据库的如何连接主数据库
GRANT REPLICATION SLAVE ON *.* TO '名字'@'ip' IDENTIFIED BY'密码';
之后使用命令show master status得到
拿到File和Position,要记下来。
在centos的从数据库中配置连接主数据库
执行命令配置连接主数据库
change master to master_host='XXXXXXX',
master_user='XXXX',
master_password='XXXX',
master_log_file='mysqlbin.000001',
master_log_pos=451;
之后开启从服务
start slave
然后查看状态
show slave status\G
必须要满足这两个yes,就算配置成功
测试
windows创建数据库
centos可以查询到
最后成功。
可能会出现的问题
slave_io_running一直是connecting状态
大概率是因为windows数据库拒绝访问
可以在centos测试远程连接windows的数据库试一下。
解决数据库拒接连接问题
登陆windows数据库之后
执行use mysql;
执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
执行FLUSH PRIVILEGES;刷新权限