主数据库服务器的配置master 51
做主从配置要保持两个数据库中的库和表一致
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; 查看状态