MYSQL主从数据库同步备份配置
一、准备
在两台服务器上测试:
master server :172.16.0.180/Linux/MySQL5.1. 41
slaveserver :172.16.0.181/Linux/MySQL5.1. 41
主服务器原则上,MYSQL的版本必须相同,如果不能满足,则从服务器的MYSQL版本必须至少高于主服务器的MYSQL版本
二.配置主服务器
1 .登录主服务器并编辑my.cnf
#vim /etc/my.cnf
在“[mysqld]”部分添加以下内容:
[mysqld]
log-bin=mysql-bin
服务器id=1
binlog-do-db=wordpress
binlog-ignore-db=mysql,test
说明: log-bin条目必须在Master服务中记录二进制日志
server-id=master_id其中master_id必须是1到2321之间的正整数值。
binlog-do-db=database是记录日志的数据库。
binlog-ignore-db是不记录日志的数据库名称,多个数据库之间有逗号(
2 .要从master服务器添加具有从master服务器访问master服务器权限的帐户,请查看以下命令:
mysqlgrantreplicationslaveon *.* to backup @ 172.16.0.181标识by‘backup password’;
格式: mysqlgrantreplicationslaveon *.*
- TO ‘“帐户”@“服务器IP或主机名”identifiedby‘“密码”;
(说明: ubuntu系统首先打开数据库的远程连接配置)
重新启动Mysql
4 .备份主数据库中的数据
# mysqldumpmaster-dataextmailextmail _ backup _ 2007 11 20.SQL
要添加-master-data选项,请在此处备份master服务器上的数据,然后导入slave服务器。
5 .观察大师的状态
mysql show master status;
————————---- ————-——3354、3————、3————
文件位置binlog _ do _ db binlog _ ignore _ db
————————---- ————-——3354、3————、3————
| MySQL-bin.000002|79|extmail,test |
————————---- ————-——3354、3————、3————
1原始插入(0.00 sec )。
三.配置从属服务器
编辑my.cnf
# vim /etc/my.cnf
在“[mysqld]”部分添加以下内容:
服务器id=2
主主机=172.16.0.180
主端口=3306
master-user=backup
主密码=备份密码
主连接恢复=60
说明:
slave服务器的服务器- id不能与主服务器相同。 另外,多个slave之间的服务器- id也不能相同。
master-host是master服务器的主机名或IP地址
master-user和master-password是以前我们在master上建立用户名和密码的
如果发现主服务器与服务器断开连接,master-connect-retry是重新连接的时间差
2 .将从主数据库服务器备份的数据库导入从属服务器。 这意味着上一个extmail_backup_20071120.sql
# MySQL管理员创建导出文件
# mysqlextmailextmail _ backup _ 2007 11 20.SQL
重新启动mysql服务器
停止slave服务,设定主服务器的各种参数
MySQL斯拉夫停止;
mysqlchangemastertomaster _ host=’172.16.0.180’,
master _ user=’backup’,master _ password=’backup password’,
master _ log _ file=’MySQL-bin.000003’,MASTER_LOG_POS=106;
MySQL从属启动;
5 .查看主从机的状态
在主机a上,mysqlshow master statusG;
在从站b中,为mysqlshow slave statusG;
确实,如下所示,匹配:行
Waiting for master to send event
Slave_IO_Running: Yes
slave _ SQL _ running :是
如果您想通过复制数据文件来备份数据库
请先从服务器的mysql命令行输入slave stop;
复制和复制数据库文件,然后在mysql命令行中键入slave start
启动从服务器。 这将备份数据,并确保数据的完整性。 此外,不需要停止主服务器的mysql。