mysql主从服务器的配置笔记

[color=red]注: 从MySQL从服务器的版本不能小于主服务器的版本[/color]

[size=medium][b]一. MySQL主服务器配置[/b][/size]
[b]1.建立用户[/b]
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

[b]2.编辑配置文件/etc/my.cnf[/b]
# 确保有如下行
# 如果是win32平台就是my.ini
server-id = 1
log-bin=mysql-bin
binlog-do-db=wow
binlog-ignore-db=mysql
#binlog-do-db=需要备份的数据库名,可写多行
#binlog-ignore-db=不需要备份的数据库名,可写多行


[size=medium][b]二.MySQL从服务器配置[/b][/size]
[b]1.编辑/etc/my.cnf[/b]
# 如果是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 如果从服务器发现主服务器断掉,重新连接的时间差(秒)


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

[size=medium][b]三.验证是否配置正确[/b][/size]
[b]1. 主服务器验证[/b]
登录mysql> show master status; 应看到如下行

+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 468 | wow | mysql |
+-------------------+----------+--------------+------------------+

[b]2. 从服务器验证[/b]
登录mysql> show slave status\G;
确保如下关键行是Yes:

Slave_IO_State: Waiting for master to send event
.....
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


[size=medium][b]四.其它[/b][/size]
[b]++如果你想使用复制数据文件的方式来备份数据库[/b]
只要在从服务器上的mysql命令行先键入slave stop;然后复制数据库文件,复制好了,再在mysql命令行键入slave start;启动从服务器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。

[b]++修改配置需要注意[/b]
需要删除从服务器上的/var/lib/mysql/master.info文件,否则无论my.cnf如何修改都不生效。

[b]++主服务器上的相关命令[/b]
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=

[b]++从服务器上的相关命令[/b]
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端已同步过的日志

[b]++产生了mysql-bin.00000x文件可以删除[/b]
reset master; #http://bbs.chinaunix.net/thread-745343-1-1.html`

[b]++同步出错时,如果被同步语句确定在从库上可以被忽略[/b]
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
slave start;
# 看show slave status \G中的Seconds_Behind_Master: 0为正常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值