您的位置:首页 > 数据库 > MySQL

Windows下的mysql主从复制

2011-04-01 17:35 369 查看
今天学习了一下windows下的mysql主从配置,这里对我的配置做一个简单的总结。

[/b]

配置:
1、环境
A计算机192.168.18.8WindowsXpMysql5.5
B计算机192.168.18.6WindowsXpMysql5.5
这里最好是两台服务器的版本都一样,如果不一样请参见官方网站相关资料
http://imysql.cn/docs/MySQL_51_zh/mysql_51.html(mysql中文网)
2、在A的数据库中建立一个备份帐户,命令如下:

GRANTREPLICATIONSLAVE,RELOAD,SUPERON*.*

TObackup@'192.168.18.8'

IDENTIFIEDBY‘123456’;

建立一个帐户backup,并且只能允许从192.168.18.8这个地址上来登陆,密码是123456。、
3、更改密码
因为mysql版本新密码算法不同,所以进入mysql下,输入:setpasswordfor'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>SHOWMASTERSTATUS;

+---------------+----------+--------------+------------------+

|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>CHANGEMASTERTO

->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中是不会发生任何改变的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息