mysql主从服务器的配置笔记

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

一. MySQL主服务器配置
1.建立用户
grant replication slave on *.* to [email protected] 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为正常

你可能感兴趣的:(thread,sql,mysql,应用服务器,SQL Server)