1.下载mysql5.7,复制一份,slave作为从节点
2.配置主节点的my.ini
执行命令:mysqld --install master --defaults-file="D:\mysql\mysql-5.7.32-winx64\my.ini"
其中的master为主库mysql的服务名称
执行命令:net start master
注:net stop master 为停止命令
以管理员身份运行cmd窗口,然后切换到压缩包所在的bin目录
输入mysql -uroot -p -P3306
然后创建新用户:
create user 'mytest'@'%' identified by '123456';
@后面的ip地址为允许连接的客户端的ip地址。mytest是用户名,123456是密码
然后,给新用户配置主从复制的权限:
grant replication slave on *.* to 'mytest'@'%' identified by '123456';
@后面的ip地址为允许连接的客户端的ip地址,如果改为 ‘%’,就表示客户端没有ip地址的限制
然后查看主服务master的状态:
mysql> show master status \G;
记住file,和position,因为等下配置从数据库的时候会用到。
3.配置从节点的my.ini
执行命令:mysqld --install slave --defaults-file="D:\mysql\mysql-5.7.32-winx64-slave\my.ini"
其中的slave为主库mysql的服务名称
net start slave;启动从节点
在此之后输入mysql -uroot -p -P3307 则可连接上从库成功
从库上输入命令:
change master to master_host='127.0.0.1',master_port=3306,master_user='mytest',master_password='123456',master_log_file='master-bin.000005',master_log_pos=154;
ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.
mysql从机上已经进行过绑定了,如果继续绑定需要先进行重置。
解决办法
1、停止已经启动的绑定
stop slave
2、重置绑定
reset master
3、执行复制主机命令
这里的master_log_file和master_log_pos对应刚才show master status \G记下的参数。
在从库开启从数据库复制功能: 输入命令 start slave; 启动复制
show slave status \G
Slave_IO_Running :一个负责与主机的io通信
Slave_SQL_Running:一个负责自己的slave SQL进程
在master 数据库中插入一条数据,slave数据库也会增加,至此mysql主从复制实现了。