今天学习了一下
windows下的mysql主从配置,这里对我的配置做一个简单的总结。
配置:
1、环境
A计算机192.168.18.8 Windows Xp Mysql 5.5
B计算机192.168.18.6 Windows Xp Mysql 5.5
这里最好是两台服务器的版本都一样,如果不一样请参见官方网站相关资料
http://imysql.cn/docs/MySQL_51_zh/mysql_51.html( mysql中文网)
2、 在A的数据库中建立一个备份帐户,命令如下:
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*
TO backup@'192.168.18.8'
IDENTIFIED BY ‘123456’;
建立一个帐户backup,并且只能允许从192.168.18.8这个地址上来登陆,密码是123456。、
3、更改密码
因为mysql版本新密码算法不同,所以进入mysql下,输入:set password for 'backup'@'192.168.18.8'=old_password('123456');
4、 对A服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容:
server-id=1
log-bin=c:\log-bin.log
server-id:为主服务器A的ID值
log-bin:二进制变更日值
5、 重启A服务器,从现在起,它将把客户堆有关数据库的修改记载到二进制变更日志里去。这个时候在C盘下会生成2个文件log-bin.000001和log-bin.index。进入mysql中输入如下代码:
mysql > SHOW MASTER STATUS;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| mysql-bin.003 | 73 | | |
+---------------+----------+--------------+------------------+
记录下结果,以便启动从服务器的时候使用。
6、 对B服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容:
[mysqld]
server-id=2
7、 重启从服务器B。然后再用root账户进入mysql,输入如下代码:
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
-> MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_LOG_FILE='recorded_log_file_name',
-> MASTER_LOG_POS=recorded_log_position;
server-id:从服务器B的ID值。注意不能和主服务器的ID值相同。
master-host:主服务器的IP地址。
master-user:从服务器连接主服务器的帐号。
master-password:从服务器连接主服务器的帐号密码。
replicate-do-db:告诉主服务器只对指定的数据库进行同步镜像。
recorded_log_file_name = mysql-bin.003
recorded_log_position = 73
8、 测试
更新A服务器中的某个表,B服务器中也会相应的发生改变。这个时候在B上做得操作A中是不会发生任何改变的。
本文出自 “Windowsxp下mysql集群” 博客,请务必保留此出处http://2878502.blog.51cto.com/2868502/533214