Linux配置mysql主从复制
systemctl restart mysqld 重启mysql服务
Mysql主从复制
在linux里面部署mysql
主库Master 192.168.162.138 contos 7
从库Slave 192.168.162.137 contos 7测试
log-bin=mysql-bin町[必须]启用二进制日志
第三步:登录Mysql数据库,执行下面SQL
GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'Root@123456';
第三步:登录Mysql数据库,执行下面SQL
GRANT REPLICATION SLAVE ON*.* to 'xiaoming'@%' identified by 'Root@123456';
注:上面SQL的作用是创建一个用户xiaoming,密码为Root@123456,并且给xiaoming用户授予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制。
配置主库Master
show master status;
配置从库
[mysqld]
server-id=100 #[必须]服务器唯一ID
systemctl restart mysqld
change master to master_host='192.168.162.138',master_user='xiaoming',master_password='Root@123456',master_log_file=' mysql-bin.000006',master_log_pos=1933;
start slave;
参数说明:
A. master_host : 主库的IP地址
B. master_user : 访问主库进行主从复制的用户名(上面在主库创建的)
C. master_password : 访问主库进行主从复制的用户名对应的密码
D. master_log_file : 从哪个日志文件开始同步(上述查询master状态中展示的有)
E. master_log_pos : 从指定日志文件的哪个位置开始同步(上述查询master状态中展示的有)
show slave status\G 查看
不为yes就代表没有配置完成,不能进行同步
解决方法:
Slave_IO_Running: No 的解决
解决办法:
1:使用 find / -iname "auto.cnf" 命令查找你数据库的auto.cnf 配置文件。
find / -iname "auto.cnf"
2、把查询到的文件删除,系统将重新自动分配
rm
3: 登录mysql,重启slave,再次验证
mysql -uroot -p 登录mysql
stop slave; 停止链路
start slave; 启动链路
show slave status \G; 查看链路
4、如下成功