MySQL主从复制环境搭建

环境条件

虚拟机两台,其中一台搭建为主库,另一台搭建为从库环境。(建议设置一下静态ip地址,我下面的例子中主库为...100,从库为...101)

主库环境搭建

修改MySQL的配置文件/etc/my.cnf,在文件开头[mysqld]下编辑下面的两行:

[mysqld]
log-bin=mysql-bin # 启用二进制日志
server-id=100     # 服务器唯一ID

重启服务

systemctl restart mysqld

登录mysql数据库,授权slave用户相应的权限,以便正常使用复制功能,用户的名称为:xiaoming,密码为Root@123456

GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'Root@123456';

使用下面的命令查看主库的状态

show master status;

image
记住上面框住的两个值,待会配置从库要用到的(得自己查一下的,每台机子的状态都不一样的,而且,查了之后如果对数据库进行增删改,按道理需要重新再获取一次的,总之,到时候配置到从库中的这两个值,必须的最新的。)

从库环境搭建

修改MySQL配置文件/etc/my.cnf

[mysqld]
server-id=101

重启服务

systemctl restart mysqld

登录MySQL,执行命令

change master to
master_host='*.*.*.100',master_user='xiaoming',master_password='Root@123456',master_log_file='mysql-bin.000002',master_log_pos=154;
start slave;

看后面两个配置,一个master_log_file,一个master_log_pos就是前面主库配置最后查询内容中,红色方框框出来的部分。最后查看下是否配置完成了,在从机上执行

show slave status \G

如果是下面这个样子,两个Yes的话就成功了。Slave_IO_Running的话可能是数据库UUID没配置:Slave_IO_Running为No的解决方法
image

posted @ 2023-04-26 16:14  薯叶  阅读(46)  评论(0)    收藏  举报