sanhutrees 发表于 2018-6-16 13:05:17

Windows下的mysql主从复制

  今天学习了一下windows下的mysql主从配置,这里对我的配置做一个简单的总结。
  配置:
  1、环境
  A计算机192.168.18.8 Windows XpMysql 5.5
  B计算机192.168.18.6 Windows XpMysql 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文件,在下面添加如下内容:
  
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文件,在下面添加如下内容:
  
  
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中是不会发生任何改变的。
页: [1]
查看完整版本: Windows下的mysql主从复制