• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 详解MySQL的replication双向备份配置

详解MySQL的replication双向备份配置

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL,replication,双向备份等相关知识,希望本文的分享对您有所帮助
MySQL的replication双向备份配置,分享如下。

一、 设置A服务器

编辑/usr/local/mysql/etc/my.cnf文件,在mysqld块里添加如下内容:

log-bin=/jongo/mysql/logs/mysql-bin
server-id       = 2
binlog-do-db=bbscs8    这里的binlog-do-db是用来设置可以被slave服务器同步的数据
库名称
binlog-do-db=bdt
binlog-do-db=adsense
binlog-do-db=bdt_bbs
binlog-do-db=bdt_help

master-host = 192.168.2. 备份192.168.2.7上的数据库,即这台做为备机的需要备份的数据库的主机器地址

master-user = backup 上面机器上设置的,用来同步的用户名胜古迹

master-password = 17buybackup@#$ 要用主服务器上同步过来的数据库的名称

log-slave-updates

grant replication slave on *.* to 'backup'@'192.168.2.%' identified by 'bdtbackup@#$';

给同步添加一个用户

二、 设置B服务器

server-id = 1

binlog-do-db= jongo17buy 这里的binlog-do-db是用来设置可以被slave服务器同步的数据

库名称

master-host = 192.168.2.5 备份192.168.2.7上的数据库,即这台做为备机的需要备份的数据库的主机器地址

master-user = backup 上面机器上设置的,用来同步的用户名胜古迹

master-password = bdtbackup@#$ 要用主服务器上同步过来的数据库的名称

grant replication slave on *.* to 'backup'@'192.168.2.%' identified by '17buybackup@#$';

三、 两个服务器上

在两个服务器上,将要同步的数据库分别在各的备机手工同步或重新导入一下。

然后,分别启动 mysql> start slave

四、 同步监控脚本

mysql_monitor.sh文件
#!/bin/bash
. /root/.bash_profile
. /jongo/shell/contact_config.sh
MYSQL_PASSWD="admin8*"
IO_RUNING=`echo "show slave status \G;" |mysql -uroot -p$MYSQL_PASSWD |grep "Slave_IO_Running" |awk -F ":" '{ print $2 }'`
SQL_RUNING=`echo "show slave status \G;" |mysql -uroot -p$MYSQL_PASSWD |grep "Slave_SQL_Running" |awk -F ":" '{ print $2 }'`
SQL_ERROR=`echo "show slave status \G;" |mysql -uroot -p$MYSQL_PASSWD |grep "Last_SQL_Error" |awk -F ":" '{ print $2 }'`
echo "io_status=\"$IO_RUNING\"" >/jongo/shell/tmp.txt
echo "sql_status=\"$SQL_RUNING\"">>/jongo/shell/tmp.txt
echo "sql_error=\"$SQL_ERROR\"">>/jongo/shell/tmp.txt
. /jongo/shell/tmp.txt
if [ "$io_status" != " Yes" -o "$sql_status" != " Yes" ]
    then
        echo "17buy的mysql数据库的slave(203.156.192.29) 于"`date "+%Y-%m-%d %H:%m:%S"`"发生错误:">/jongo/shell/mysql_monitor.log
     echo "请立即检查,谢谢!" >>/jongo/shell/mysql_monitor.log
     echo "slave 服务器的状态如下:">>/jongo/shell/mysql_monitor.log
     echo "show slave status \G;" |mysql -uroot -p$MYSQL_PASSWD >>/jongo/shell/mysql_monitor.log
     for email in $contact_email
      do
        mail -s "mysql slave on 17buy was false" $email /shell/mysql_monitor.log
         done
fi
contact_config.sh文件
contact_email=wayne.wang@jongogroup.com

五、 常见问题

a. 出现Error initializing relay log position: Could not find target log during relay log initialization,Error_code: 1593错误

~ 这个一般是由于在mysql数据库的数据目录下找不到localhost-relay-bin.***文件导致的,可以用类似下列语句来调整:

CHANGE MASTER TO
    ->    MASTER_HOST='192.168.2.5’,
    ->    MASTER_USER='backup',
    ->    MASTER_PASSWORD='./bdtbackup@#$',
    ->    MASTER_PORT=3306,
    ->    MASTER_LOG_FILE='master2-bin.001',
    ->    MASTER_LOG_POS=4,
    ->    MASTER_CONNECT_RETRY=10,CHANGE MASTER TO
    ->    RELAY_LOG_FILE='./slave-relay-bin.006',
    ->    RELAY_LOG_POS=4025;

注意:

这里指定的文件路径是绝对路径,如果要用相对路径一定要用./filename形式,否报找不到对应的文件错误;

b. 出现Slave I/O: error connecting to master 'backup@192.168.2.5:3306' - retry-time: 60 retries: 86400, Error_code: 1045 错误:

出现这个错误可能有:

1) 用户的权限不对;

2) 主服务器不上连接,如防火墙没有打开相应的端口;

3) 从服务器上的RELAY_LOG_POS的值不对,可以用上面的CHANGE MASTER TO语句来调整

c. 同步出错处理

当服务器同步出错了,可以有以下两种方法来处理它:

(a) 如果只是数据更新或者插入错误,而且对将来的影响不是很大,这个数据可以不要时,可以:

stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1:

将这条出错的查询跳掉就可以了,然后:
start slave; 重启同步过程就可以了

(b) 另外的方法是 :当服务器出现严重的问题时可以:
stop slave
然后用其他软件手动同步一下,然后再主机上:

show master status;

查到master_log_file和master_log_pos,然后再从机器上:

change master to master_log_file='mysql-bin.000007',master_log_pos=261836644 ;
start slave

就有可以同步了

以上就是详解MySQL的replication双向备份配置的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05怎样写出高性能的SQL查询语句
  • 2017-05-11mysql数据库中的information_schema和mysql可以删除吗?
  • 2018-12-05sql 创建数据库与删除数据库
  • 2018-12-05删除mysql数据库中的重复数据记录
  • 2018-12-05用 INNER JOIN语法联接多个表建记录集
  • 2018-12-05MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(500W单表)
  • 2018-12-05JDBC-数据连接池的使用
  • 2018-12-05sql2000各个版本区别总结第1/3页
  • 2018-12-05【设置字符集】Win7 64位系统安装MySQL5.5.21图解教程_MySQL
  • 2017-05-11MySQL数据库防止人为误操作的实例讲解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 【ASP.NET Web API教程】1.1 第一个ASP.NET Web API
    • MySql中非常重要的索引操作
    • MYSQL中获取得最后一条记录的语句
    • 基于MySQL的关系型云数据正式上线
    • MySql报错Table mysql.plugin doesn’t exist的解决方法
    • Innodb 状态的详解
    • SQL Server2005下的安全操作技巧分享
    • 详解MySQL分区表的局限和限制的代码实例
    • 关于mysql delete的问题小结
    • mysql 数据库基础笔记

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有