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 主从复制 详细实例讲解 与 常见错误解决方法的主要内容,如果未能解决你的问题,请参考以下文章