Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22871
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-29 23:51
文章分类
文章存档

2013年(7)

我的朋友

分类: Mysql/postgreSQL

2013-07-29 23:52:15

原文地址:MySQL的主从同步备份 作者:ncoder

之前公司的MySQL都是使用mysqldump来进行数据备份的, 但:

1. 是完整备份, 每次耗时很长

2. 经理觉得主从备份很潮^__^

我是无所谓, 正好可以学点新东西. 书归正传吧.

------------------------------------------------------------

1. 在主mysql上添加备份用户:

grant replication slave on *.* to identified by ‘123456’

2. 配置主mysql的my.ini:

[mysqld]
server-id=1
log_bin=”d:/log/log_bin”

3. 配置从mysql的my.ini:

[mysqld]

server-id = 2

log_bin = “d:/log/log_bin”

 

#下面的配置只针对5.1版本之前, 之后的版本不再在这里进行配置

master-host =192.168.1.100

master-user =backup

master-pass =123456

master-port =3306

 

master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)

replicate-do-db =test #只复制某个库

replicate-ignore-db=mysql #不复制某个库

5.1以后的版本不再需要在这里进行主服务器的配置, 而是到命令行中进行配置, 可以写成下面的SQL脚本, 直接运行:

change master to master_host=”192.168.1.100”, master_user=”backup”, master_password=”123456, master_port=3306

4. 同步数据库

最简单的是用mysqldump导出需要的表, 再在从服务器里导入即可.

5. 设置两边的二进制日志.

在主mysql中执行:

show master status\G

这里会得到主mysql当前的二进制索引文件的名字及当前的pos, 得到这个后, 在从mysql中执行:

change master to master_host=”192.168.1.100”, master_user=”backup”, master_password=”123456, master_port=3306,master_log_file=”filename",master_log_pos=1000

这里红色部分填上在主mysql中查到的, 就可以了.

6. 启动从备份:

start slave;

 

OK, 到此就完事了. 其实在mysql以后的版本中, 配置主从已经变得非常容易了, 只要打开主从的二进制日志, 然后指定server-id, 之后把change-master那一段写成sql脚本, 配置的时候, 在从mysql里执行一下就完事了.

阅读(280) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Linux环境下源码编译方式安装MySQL5.1(1)

给主人留下些什么吧!~~