MySQL主从服务器配置实战
广告:我自己写的AKCMS,灵活、小巧、快速、不挑服务器。欢迎站长朋友试用,不收钱不费电
成天的听MySQL主从主从,却一次都没有真的配置过。今晚演习了一下MySQL服务器的镜像机制:也就是让一台MySQL服务器当主服务器,另外一台或几台服务器当从服务器。经过几番试验成功了,还算比较顺利,记录一下这个过程。
环境:
主服务器地址:192.168.239.2,windows XP
从服务器地址:192.168.239.129,windows XP
主从服务器的版本都是5.0.19(主从服务器的版本可以不一样,但是从服务器必须高于主服务器)
演习目标,让主服务器的test数据库在从服务器上生成一个镜像
1 主从服务器都已经正常安装MySQL,关闭主从服务器的MySQL服务
2 拷贝主服务器的test数据库的数据目录到从服务器的相应目录
3 修改主服务器的MySQL的配置,增加以下配置:
server-id=1
log-bin=D:/APMXE5/mysql50/logs/master
binlog-do-db=test
#只镜像test这个数据库
4 启动主服务器的MySQL,执行show master status;
应该能看到类似这样的两个值:
file:master.000001
position:128
记下来
5 在主服务器的MySQL创建一个新用户replicuser(你可以随便起,只要和下面的配置对应的上),从服务器就通过这个用户登录主服务器读取二进制日志
6 修改从服务器的MySQL配置,增加以下配置:
server-id=2
master-host=192.168.239.2
master-user=replicuser
master-password=123456
7 重新启动从服务器的MySQL,登录后执行以下命令:
change master to master_host='192.168.239.2';
change master to master_user='replicuser';
change master to master_password='123456';
change master to master_log_file='master.000001';
change master to master_log_pos=128;
start slave
8 如果正常的话,就已经配置完毕,下面测试:然后在主服务器上新增一条记录,到从服务器上能查到;从服务器先停掉,主服务器增加记录,从服务器启动后也能查到新增的记录。
更新:dump数据的时候可以使用这个命令
/usr/bin/mysqldump xxx --master-data=1 --default-character=utf8 -uroot -p > xxx.sql
加红的这个参数做两件事:1 把logfile、logpos写入到dump出来的SQL中;2 dump前读锁定全部表(可读不可写),dump后解锁全部表,就是
广告:我自己写的AKCMS,灵活、小巧、快速、不挑服务器。欢迎站长朋友试用,不收钱不费电
成天的听MySQL主从主从,却一次都没有真的配置过。今晚演习了一下MySQL服务器的镜像机制:也就是让一台MySQL服务器当主服务器,另外一台或几台服务器当从服务器。经过几番试验成功了,还算比较顺利,记录一下这个过程。
环境:
主服务器地址:192.168.239.2,windows XP
从服务器地址:192.168.239.129,windows XP
主从服务器的版本都是5.0.19(主从服务器的版本可以不一样,但是从服务器必须高于主服务器)
演习目标,让主服务器的test数据库在从服务器上生成一个镜像
1 主从服务器都已经正常安装MySQL,关闭主从服务器的MySQL服务
2 拷贝主服务器的test数据库的数据目录到从服务器的相应目录
3 修改主服务器的MySQL的配置,增加以下配置:
server-id=1
log-bin=D:/APMXE5/mysql50/logs/master
binlog-do-db=test
#只镜像test这个数据库
4 启动主服务器的MySQL,执行show master status;
应该能看到类似这样的两个值:
file:master.000001
position:128
记下来
5 在主服务器的MySQL创建一个新用户replicuser(你可以随便起,只要和下面的配置对应的上),从服务器就通过这个用户登录主服务器读取二进制日志
6 修改从服务器的MySQL配置,增加以下配置:
server-id=2
master-host=192.168.239.2
master-user=replicuser
master-password=123456
7 重新启动从服务器的MySQL,登录后执行以下命令:
change master to master_host='192.168.239.2';
change master to master_user='replicuser';
change master to master_password='123456';
change master to master_log_file='master.000001';
change master to master_log_pos=128;
start slave
8 如果正常的话,就已经配置完毕,下面测试:然后在主服务器上新增一条记录,到从服务器上能查到;从服务器先停掉,主服务器增加记录,从服务器启动后也能查到新增的记录。
更新:dump数据的时候可以使用这个命令
/usr/bin/mysqldump xxx --master-data=1 --default-character=utf8 -uroot -p > xxx.sql
加红的这个参数做两件事:1 把logfile、logpos写入到dump出来的SQL中;2 dump前读锁定全部表(可读不可写),dump后解锁全部表,就是