打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
mysql主从服务器的配置笔记 - 百草园 - ItEye技术网站
注: 从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
My.ini代码
 
  1. server-id = 1  
  2. log-bin=mysql-bin   
  3. binlog-do-db=wow   
  4. binlog-ignore-db=mysql   
  5. #binlog-do-db=需要备份的数据库名,可写多行   
  6. #binlog-ignore-db=不需要备份的数据库名,可写多行  


二.MySQL从服务器配置
1.编辑/etc/my.cnf
# 如果是win32平台就是编辑my.ini
My.ini代码
 
  1. server-id=2  
  2. log-bin=mysql-bin   
  3. master-host=172.16.0.10  
  4. master-user=allen   
  5. master-password=1234  
  6. master-port=3306  
  7. replicate-do-db=wow   
  8. master-connect-retry=60  
  9. # replicate-do-db=wow  需要备份的数据库名   
  10. # replicate-ignore-db=mysql 忽略的数据库(如果需要的话)   
  11. # master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)  


记得先手动同步一下主从服务器中要备份的数据库,然后重启主,从服务器。

三.验证是否配置正确
1. 主服务器验证
登录mysql> show master status; 应看到如下行
Sql代码
 
  1. +-------------------+----------+--------------+------------------+   
  2. | File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |   
  3. +-------------------+----------+--------------+------------------+   
  4. | master-bin.000001 |      468 | wow          | mysql            |   
  5. +-------------------+----------+--------------+------------------+  

2. 从服务器验证
登录mysql> show slave status\G;
确保如下关键行是Yes:
Sql代码
 
  1. Slave_IO_State: Waiting for master to send event   
  2. .....   
  3. Slave_IO_Running: Yes   
  4. 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为正常

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
mysql主从备份
MySQL主从同步问题集
MySQL主从数据库配置注意问题 – WEB·攻城志
mysql数据库主从同步复制原理
MySQL Replication, 主从和双主配置
MySQL复制全解析 Part 2 一步步搭建基于二进制文件位置的MySQL复制
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服