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;

原文地址:https://www.cnblogs.com/lonuve/p/11015913.html

时间: 2024-10-13 08:52:34

mysql主库 备份库怎么同步的相关文章

mysql trouble shooting---- 从库停止同步lock_wait_timeout_exceeded_try_restarting_transaction

问题描述: 数据库从库停止同步. 问题分析: show slave status\G;(也可使用show full processlist) 显示 某个update语句出错,Lock wait timeout exceeded; try restarting transaction; 原因是这条语句提交的时候超时堵塞.原因在于另外的一个操作开启了事务,锁定了相应的数据,导致这条操作相同数据的sql出错. 示例,在sql中 (1)开启事务,锁定数据 终端A: MySQL> begin; (开启事务

mysql数据库负载均衡高可用之主从、主主备份,实时同步

一:MySQL Replication 什么是MySQL Replication Replication可以实现将数据从一台数据库服务器(master)复制到一或多台数据库服务器(slave) 默认情况下属于异步复制,无需维持长连接 通过配置,可以复制所有的库或者几个库,甚至库中的一些表 是MySQL内建的,本身自带的 Replication的原理 简单的说就是master将数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志进行数据操作 DML:SQL操作语句,upd

004.MySQL主库手动复制至从库

一 主库手动复制至从库 1.1 Master主库锁表 1 mysql> flush tables with read lock; 2 Query OK, 0 rows affected (0.00 sec) 1.2 主库备份 1 [[email protected] ~]# mysqldump -uroot -p -B mydb > master.sql 说明:-B参数有建库语句. 1.3 从库导入数据库 1 [[email protected] ~]# mysql -uroot -padmi

mysql主库数据导入从库

mysql 主库数据导入到从库 1.主库数据导出 #msyqldump -uroot -p123456 -S /tmp/mysql.sock -A --events -B -x --master-data=1|gzip >/opt/$(date +%F_%T).sql.gz 2.从库导入数据库 拷贝备份的数据库,并导入到从库中. #scp [email protected]:/opt/$(date +%F_%T).sql.gz /sqlbak/Address 172.16.1.9 maps to

mysql数据库备份,主从复制及半同步复制

1.使用mysqldump备份数据库并通过备份及二进制日志还原数据(备份完后再写入数据,然后再删库) mysqldump -A --single-transaction -F --master-data=2 > /data/backup/mysql.sql -A备份所有数据库,--single-stransaction开启事务备份 -F 刷新日志 --master-data=2记录二进制日志位置 备份前数据库 在表里插入新记录,不在完全备份当中 删库 mysql -e 'drop databas

MySQL主从复制指定不同库表同步参数说明

replication 中通过以下参数减少binlog数据量 master端: --binlog-do-db 二进制日志记录的数据库(多数据库用逗号,隔开) --binlog-ignore-db 二进制日志中忽略数据库 (多数据库用逗号,隔开) 以下是mysql主从忽略授权表的方法案例: in master: binlog-do-db=YYY 需要同步的数据库.不添加这行表示同步所有 binlog-ignore-db = mysql   这是不记录binlog,来达到从库不同步mysql库,以确

mysql备份与恢复多库备份

实例:备份:mysqldump -u root -p'123456' kaliboy>/opt/kaliboy.sql 指定字符集备份:mysqldump -u root -p'123456' --default-character-set=utf8 kaliboy>/opt/kaliboy.sql 备份参数:-e : 后面可以执行mysql 命令用;分开-B :参数的作用是增加创建数据库和连接数据库的命令-d : 备份表结构-t : 备份数据-A -B --events 备份全部数据库-F

svnsync实现版本库的同步备份

svnsync实现版本库的同步备份 实验环境: A,172.17.201.243(主) B,172.17.201.88(备) 项目需求,生产环境要求svn服务器实现热备机制,于是就想到了svn自带的svnsync机制,操作流程如下: 1.在要备份的机器上(172.17.201.88)建立版本库 mkdir -p /home/svn/SH2014/SVNdata svnadmin create /home/svn/SH2014/SVNdata 2.进入备份机器(172.17.201.88)版本库S

MYSQL 完全备份、主从复制、级联复制、半同步

mysql 完全备份 1,启用二进制日志,并于数据库分离,单独存放 vim /etc/my.cnf 添加 log_bin=/data/bin/mysql-bin 创建/data/bin文件夹并授权 chown mysql.mysql /data/bin 2,完成备份数据库 mysqldump -A --single-transaction --master-data=2 | xz > /data/all.sql.xz 3,对数据库进行增删改 INSERT hellodb.students(stu