欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

CentOS下 MySQL同步备份

程序员文章站 2022-05-06 23:52:28
...

MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日

注释:MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后*并等待主服务器通知下一次更新。在实际项目中,,两台分布于异地的主机上安装有MySQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台数据库的数据要实时保持一致,在这里使用MySQL的同步功能实现双机的同步复制。

以下是操作实例:

一、环境配置

1、主数据服务端:CentOS release 5.6 mysql-5.0.77-4.el5_5.4 IP:192.168.4.200

2、从数据客户端:CentOS release 5.69 mysql-server-5.0.95-5.el5_9 IP:192.168.4.244

二、在主、从数据库增加同步账号

1、在主库增加一个从库可以登录的账号

MySQL>
GRANT all privileges ON *.* TO tongbu@'192.168.4.244' IDENTIFIED BY '123456';
(注意:tongbu是用于同步的帐号,123456是tongbu的密码)


2、在从库增加一个主库可以登录的账号

MySQL>

GRANT all privileges ON *.* TO tongbu@'192.168.4.200' IDENTIFIED BY '123456';

(注意:tongbu是用于同步的帐号,123456是tongbu的密码)

三、配置数据库参数

1、以root用户登录主库,修改主库my.cnf文件;

[root@jw01 mysql]# vim /etc/my.cnf

[mysqld]下面增加以下的参数;


default-character-set=utf8
log-bin=MySQL-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
server-id=1
master-host=192.168.4.244 #同步服务器的IP
master-user=tongbu #用于同步的帐号
master-password=123456 #用于同步帐号的密码
master-port=3306 #同步服务器的端口
master-connect-retry=30 #同步的时间间隔,单位是秒
binlog-do-db=zhubao #需要同步的库,zhubao、HyDatabase、zentao、collect;
binlog-do-db=HyDatabase
binlog-do-db=zentao
binlog-do-db=collect
replicate-do-db=zhubao
replicate-do-db=HyDatabase
replicate-do-db=zentao
replicate-do-db=collect

2、以root用户登录从库,修改从库my.cnf文件;

[root@jw02 mysql]# vim /etc/my.cnf

[mysqld]下面增加以下的参数;

default-character-set=utf8
log-bin=MySQL-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
server-id=2
master-host=192.168.4.200
master-user=tongbu
master-password=123456
master-port=3306
master-connect-retry=30
binlog-do-db=zhubao
binlog-do-db=HyDatabase
binlog-do-db=zentao
binlog-do-db=collect
replicate-do-db=zhubao
replicate-do-db=HyDatabase
replicate-do-db=zentao
replicate-do-db=collect
slave-net-timeout=60 #当slave从主数据库读取log数据失败
slave-skip-errors=all #忽略错误的参数

CentOS下 MySQL同步备份