查看: 1430|回复: 0

[Mysql数据库] mysql数据库主从配置及还原

发表于 2018-3-9 08:00:02

主数据库服务器的配置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; 查看状态



回复

使用道具 举报