时间:2021-07-01 10:21:17 帮助过:19人阅读
做主从配置要保持两个数据库中的库和表一致
1 做用户授权
2 启用binlog日志
3 查看正在使用的binlog日志文件
1、
mysql> grant replication slave on . 授权.(所有的库和表)
-> to
-> repluser@"%" 可用%代表所有,也可指定具体ip地址
-> identified by "123456"; 指定密码
2、
]#vim /etc/my.cnf 修改配置文件
[mysqld]
server_id=51 指定服务器主机名
log-bin=master51
binlog-format="mixed"
:wq
]#systemctl restart mysqld 重启mysqld服务
]#ls /var/lib/mysql/master51 查看/var/lib/mysql/是否有master51开头的新文件生成
3、
mysql> show master status; 查看主服务器状态,有结果即成功
从数据库服务器的配置slave 52
1 验证主库授权用户
2 指定server_id
3 指定主库信息
4 查看配置
1、
]#mysql -h192.168.4.51 -urepluser -p123456 验证主库授权,从主机52上登陆主机51的数据库
2、
]#vim /etc/my.cnf 修改配置文件
[mysqld]
server_id=52
:wq
]# systemctl restart mysqld 重启服务
3、
]# mysql -uroot -p123456
mysql> show slave status\G; 查看从配置信息
mysql> change master to
-> master_host="192.168.4.51", ip地址
-> master_user="repluser", 用户名
-> master_password="123456", 密码
-> master_log_file="master51.000001", binlog日志
-> master_log_pos=154; 偏移量
mysql> start slave; 启动slave进程
4、
mysql> show slave status\G; 查看从服务器的状态,IO/SQL线程状态为yes即为成功
Slave_IO_Running: Yes IO线程
Slave_SQL_Running: Yes SQL线程
验证主从同步配置
在主库服务器上创建新库 新表 插入记录 在从库有同样数据。
主从同步工作原理
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
排错:
IO线程:把主库binlog日志的sql命令记录本机的中继日志文件里
IO线程出错原因:指定主库信息 错误、firwalld 、selinux
Last_IO_Error: 查看报错原因
修复IO线程?
mysql> stop slave ;
mysql> change master to 选项=值;
mysql> start slave;
SQL线程:执行中继日志文件里的sql命令 把数据写进本机库里
SQL线程出错原因:执行中继日志文件里的sql命令用到库或表在本机不存在
Last_SQL_Error: 查看报错原因
修复SQL线程 使其有主库上的库或表 stop slave ; start slave;
还原:
把数据库服务器192.168.4.X 还原为独立的数据库服务器。
要先到/var/lib/mysql 目录下
]# rm -rf master.info 删除主从配置的文件
rm -rf relay-log.info
rm -rf 主机名-relay-bin.*
将vim /etc/my.cnf配置文件中设置的条件注释掉
]# systemctl restart mysqld 重启服务
mysql> show slave status\G; 查看状态
mysql数据库主从配置及还原
标签:mysql数据库主从设置 排错 还原