注: 从MySQL从服务器的版本不能小于主服务器的版本 一. MySQL主服务器配置 1.建立用户 grant replication slave on *.* to allen@172.16.0.10 identified by '1234'; # grant replication slave on *.* to ‘用户名’@'主机’ identified by ‘密码’; # 可在Slave上做连接测试: mysql -h 172.16.0.10 -u allen -p 2.编辑配置文件/etc/my.cnf # 确保有如下行 # 如果是win32平台就是my.ini
- server-id = 1
- log-bin=mysql-bin
- binlog-do-db=wow
- binlog-ignore-db=mysql
- #binlog-do-db=需要备份的数据库名,可写多行
- #binlog-ignore-db=不需要备份的数据库名,可写多行
二.MySQL从服务器配置 1.编辑/etc/my.cnf # 如果是win32平台就是编辑my.ini
- server-id=2
- log-bin=mysql-bin
- master-host=172.16.0.10
- master-user=allen
- master-password=1234
- master-port=3306
- replicate-do-db=wow
- master-connect-retry=60
- # replicate-do-db=wow 需要备份的数据库名
- # replicate-ignore-db=mysql 忽略的数据库(如果需要的话)
- # master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)
记得先手动同步一下主从服务器中要备份的数据库,然后重启主,从服务器。 三.验证是否配置正确 1. 主服务器验证 登录mysql> show master status; 应看到如下行
- +
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
- +
- | master-bin.000001 | 468 | wow | mysql |
- +
2. 从服务器验证 登录mysql> show slave status\G; 确保如下关键行是Yes:
- Slave_IO_State: Waiting for master to send event
- .....
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
四.其它 ++如果你想使用复制数据文件的方式来备份数据库 只要在从服务器上的mysql命令行先键入slave stop;然后复制数据库文件,复制好了,再在mysql命令行键入slave start;启动从服务器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。 ++修改配置需要注意 需要删除从服务器上的/var/lib/mysql/master.info文件,否则无论my.cnf如何修改都不生效。 ++主服务器上的相关命令 show master status show slave hosts show logs show binlog events purge logs to ‘log_name’ purge logs before ‘date’ reset master(老版本flush master) set sql_log_bin= ++从服务器上的相关命令 slave start slave stop slave stop IO_THREAD //此线程把master段的日志写到本地 slave start IO_THREAD slave stop SQL_THREAD //此线程把写到本地的日志应用于数据库 slave start SQL_THREAD reset slave SET GLOBAL SQL_SLAVE_SKIP_COUNTER load data from master show slave status(SUPER,REPLICATION CLIENT) CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息 PURGE MASTER [before 'date'] 删除master端已同步过的日志 ++产生了mysql-bin.00000x文件可以删除 reset master; #http://bbs.chinaunix.net/thread-745343-1-1.html` ++同步出错时,如果被同步语句确定在从库上可以被忽略 slave stop; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n; slave start; # 看show slave status \G中的Seconds_Behind_Master: 0为正常
posted on 2013-12-05 16:44
回忆之城 阅读(100)
评论(0) 编辑 收藏 引用 所属分类:
数据库