MySQL 主从复制 详细实例讲解 与 常见错误解决方法

Posted shifu204

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 主从复制 详细实例讲解 与 常见错误解决方法相关的知识,希望对你有一定的参考价值。

一、主机ip 192.168.0.128 ,从机ip:192.168.0.130 分别测试是否能ping通对方,如果不能,请关闭防火墙或开放对应端口

 

 

二、主服务器配置

1.备份主服务器的数据

mysqldump -uroot --all-databases --lock-all-tables > ~/master_db.sql -p

  将来会在家目录下生产一个master_db.sql的数据库文件,即备份文件

2.修改主服务器的配置文件

vim /etc/my.cnf

  添加

[mysqld]
log-bin=mysql-bin     #开启二进制日志
server-id=1           #设置server-id
character_set_server=utf8
init_connect=\'SET NAMES utf8\'

  修改完毕之后保存退出,并且把MySQL服务器进行重启

systemctl restart mysqld

  

终端连接数据库

mysql –uroot –p

  输入

set global validate_password_policy=0;

  

set global validate_password_length=0;

  

GRANT REPLICATION SLAVE ON *.* TO\'slave\'@\'%\' identified by \'slave\';

  

FLUSH PRIVILEGES;

  

  获取主服务器的二进制日志信息

SHOW MASTER STATUS;

  

 

三、从服务器配置

将备份文件导入到从服务器数据库

mysql -uroot< master_db.sql -p

  

修改从服务器mysql的配置文件

vim /etc/my.cnf

  添加

[mysqld]
server-id=2           #设置server-id
character_set_server=utf8
init_connect=\'SET NAMES utf8\'

  

保存后退出,重启mysqld

systemctl restart mysqld

  

登录mysql

mysql -uroot -p

  输入

change master to master_host=\'192.168.0.128\', master_user=\'slave\', master_password=\'slave\',master_log_file=\'mysql-bin.000002\', master_log_pos=798;

  master_host 为主服务器ip,

  master_user 为主服务器设置的同步账号,

  master_password 为同步账号的密码

  master_log_file和master_log_pos为主服务器日志的二进制信息,

 

开启同步

start slave;

 如果有其他同步进程测必须先关闭

stop slave;

  

查看同步情况

show slave status\\G;

  

如果以下两项都是 yes 就表示主从同步设置成功了

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

 

 

常见主从复制问题查询连接

以上是关于MySQL 主从复制 详细实例讲解 与 常见错误解决方法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库运维之主从复制搭建

MySQL数据库运维之主从复制搭建

MySQL 主从复制与读写分离(原理深刻,过程详细,值得一看)

MySQL主从复制实现数据库服务器双机热备详细讲解

#yyds干货盘点#MySQL主从复制原理分析与实践

MySQL通过物理备份恢复后,配置主从复制报错案例