mysql主从配置-吐血总结

2022-06-22  本文已影响0人  綮珹

主IP:192.168.0.21

从IP:192.168.0.55

主数据库上执行:

创建账号并授权给从数据库

create user 'hanao'@'192.168.0.55' identified by 'hanao.';

grant replication slave on *.* to 'hanao'@'192.168.0.55';

flush privileges;

vim /etc/my.cnf

server-id=1  //唯一id,主数据库必须比从数据库小

log-bin=mysql_bin  //logbin文件

service mysqld restart

登录数据库:show master status;

从数据库上执行:

vim /etc/my.cnf

server-id=2  //唯一id,主数据库必须比从数据库小

relay-log=slave_relay_bin  //中继日志文件,用来存放I/O线程获取的日志信息

service mysqld restart

登录数据库:

change master to

master_host='192.168.0.21',  //主数据库的ip

master_user='hanao',  //主数据库授权的远程登录账号

master_password='hanao.',  //主数据库授权的远程登录密码

master_log_file='mysql_bin.000001',  //主数据库的日志文件

master_log_pos=154;  //主数据库日志文件中的pos值

start slave;

show slave status\G;

测试

主库:

show databases;

create database hanao;

use hanao;

create table student(id int not null,name varchar(100));

insert student(id,name) values(1,'hanao'),(2,'ha');

从库:

show databases;

use hanao;

select * from student;

借鉴:https://blog.csdn.net/h1228322088/article/details/116673275

坑1:

显⽰如下情况:

Slave_IO_Running: Yes

Slave_SQL_Running: No

表⽰slave不同步

解决⽅法⼀(忽略错误,继续同步):

1、先停掉slave

mysql> stop slave;

2、跳过错误步数,后⾯步数可变

mysql> set global sql_slave_skip_counter=1;

3、再启动slave

mysql> start slave;

--------------------------------------------------------

借鉴链接:https://wenku.baidu.com/view/4ea6ac28a5c30c22590102020740be1e650eccb3.html

坑2:

显⽰如下情况:

Slave_IO_Running: NO

Slave_SQL_Running: yes

来到从服务器的mysql;

stop slave;

change master to master_log_file='mysql-bin.000012',master_log_pos=154;//这里的file和pos都是上面主服务器master显示的。

start slave;//这时候就应可以了

show slave status \G;//结果如下:

借鉴链接:https://www.bbsmax.com/A/rV57qoNqzP/

上一篇下一篇

猜你喜欢

热点阅读