mysql主从服务器的配置笔记【转】

mysql主从服务器的配置笔记

注: 从MySQL从服务器的版本不能小于主服务器的版本

一. MySQL主服务器配置
1.建立用户
grant replication slave on *.* to repluser1@192.168.8.126 identified by ‘111111′;
# grant replication slave on *.* to ‘用户名’@'主机’ identified by ‘密码’;
# 可在B Slave上做连接测试: mysql -h 192.168.8.126 -u test -p

2.编辑配置文件/etc/my.cnf
# 确保有如下行
server-id = 1
log-bin=mysql-bin
binlog-do-db=test
binlog-ignore-db=mysql
#binlog-do-db=需要备份的数据库名,可写多行
#binlog-ignore-db=不需要备份的数据库名,可写多行
二.MySQL从服务器配置
1.编辑/etc/my.cnf
server-id=2
server-id=2
log-bin=mysql-bin
master-host=192.168.8.125
master-user=repluser1
master-password=111111
master-port=3306
replicate-do-db=test
replicate-do-db=test1
# replicate-do-db=test  需要备份的数据库名
# replicate-ignore-db=mysql 忽略的数据库
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)

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

三.验证是否配置正确
登录从服务器输入如下命令:
mysql> show slave status\G;
确如如下行一致:
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文件

++主服务器上的相关命令
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`