mysql主库 备份库怎么同步

Posted lonuve

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主库 备份库怎么同步相关的知识,希望对你有一定的参考价值。

在两台服务器上安装mysql
#apt-get install mysql-server -y

创建同步帐户
我这里就直接使用的数据库默认用户root
在ubuntu4上:

mysql> grant replication slave on *.* to 'root'@'192.168.2.5' identified by '12345678';

mysql> flush privileges;

在ubuntu5上:

mysql> grant replication slave on *.* to 'root'@'192.168.2.4' identified by '12345678';

mysql> flush privileges;

修改mysql的配置文件

/etc/mysql/my.cnf

在Ubuntu4 上:

【code】

[mysqld]
binlog-do-db=db_rocky #需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
binlog-ignore-db=mysql #不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
replicate-do-db=db_rocky #需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-do-db选项
replicate-ignore-db=mysql,information_schema #不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db选项
#同步参数:

server-id=1

log_bin=/var/log/mysql/mysql-bin

#保证slave挂在任何一台master上都会接收到另一个master的写入信息
log-slave-updates
sync_binlog=1
auto_increment_offset=1
auto_increment_increment=2
slave-skip-errors=all #过滤掉一些没啥大问题的错误

【/code】

在Ubuntu5上:

[mysqld]
server-id=2 #设置一个不同的id、注意这里在my.cnf里面有个默认值是 1 、把默认值改掉、而不能新增一个server-id
binlog-do-db=db_rocky #需要记录二进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
binlog-ignore-db=mysql #不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-ignore-db选项
#需要同步的数据库
replicate-do-db=db_rocky

#需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
replicate-ignore-db=mysql,information_schema #不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
#同步参数:
#保证slave挂在任何一台master上都会接收到另一个master的写入信息
log-slave-updates
sync_binlog=1
auto_increment_offset=2
auto_increment_increment=2
slave-skip-errors=all #过滤掉一些没啥大问题的错误

分别重启服务器上的mysql服务

分别在服务器上查看做为主服务器状态

mysql> flush tables with read lock;#防止进入新的数据
mysql> show master status\G;

分别在服务器上用change master语句指定同步位置 :

在ubuntu4上:

change master to master_host='192.168.2.5',master_user='root',master_password='12345678',master_log_file='mysql-bin.000001',master_log_pos=107;

在Ubuntu5上:

change master to master_host='192.168.2.4',master_user='root',master_password='12345678',master_log_file='mysql-bin.000001',master_log_pos=107;

以上是关于mysql主库 备份库怎么同步的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 主从复制备份策略

MySQL升级指南

Linux学习笔记:MySQL主从同步

MySQL锁

Mysql主从同步异常处理

Mysql主从同步异常处理