Windows上做MySQL5.5 主从热备份

1、主从服务器分别作以下操作:
  1. 版本一致
  2. 初始化表,并在后台启动mysql
  3. 修改root的密码
2、修改主服务器master:
修改my.ini

    [mysqld]
    log-bin=D:\log\mysql\mysql-bin     //[必须]启用二进制日志
    server-id=222               //[必须]服务器唯一ID,默认是1,一般取IP最后一段

    binlog-do-db=data           //要同步的数据库
    binlog-do-db=data2
    binlog-do-db=data3

    binlog-ignore-db=mysql     
    binlog-ignore-db=mysql2
    //不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的
3、修改从服务器slave:
修改my.ini

   [mysqld]
   log-bin=D:\log\mysql\mysql-bin     //[不是必须]启用二进制日志
   server-id=11             //[必须]服务器唯一ID,默认是1,一般取IP最后一段

   replicate-do-db=data     //要同步的数据库
4、重启两台服务器的mysql
进入命令行模式

    net stop mysql
    net start mysql
5、在主服务器上建立帐户并授权slave:
# 给主机192.168.11.11添加权限,用户名:mysync 密码:AXSwMyx7Fl

mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'192.168.11.11' identified by 'AXSwMyx7Fl';
6、登录主服务器的mysql,查询master的状态
mysql>show master status;
7、先对主库锁表
FLUSH TABLES WITH READ LOCK;
8、配置从服务器Slave:
# 注意不要断开,107数字前后无单引号。
mysql>change master to master_host='121.40.175.39',master_port=7705,master_user='mysync',master_password='AXSwMyx7Fl',master_log_file='mysql-bin.000003',master_log_pos=107;  
master_host:       主服务器的IP
master_user:       主服务器上用来同步的用户名
master_password:   用户的密码
master_port:       主服务器的端口,如果未曾修改,默认即可。
master_log_file:   主服务器二进制日志文件的名称,填写查看主服务器的master状态时显示的File的值
master_log_pos:    日志的位置,填写查看主服务器的master状态时显示的Position的值
# 启动从服务器复制功能
Mysql>start slave; 
9、检查从服务器复制功能状态:
# 找到FilePosition 的值记录下来;

mysql> show slave status\G
*************************** 1. row ***************************

              Slave_IO_State: Waiting for master to send event
              Master_Host: 192.168.10.61        //主服务器地址
              Master_User: mysync               //授权帐户名,尽量避免使用root
              Master_Port: 3306                 //数据库端口,部分版本没有此行
              Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
              Read_Master_Log_Pos: 600         //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos
              Relay_Log_File: ddte-relay-bin.000003
              Relay_Log_Pos: 251
              Relay_Master_Log_File: mysql-bin.000004
              Slave_IO_Running: Yes             //此状态必须YES
              Slave_SQL_Running: Yes            //此状态必须YES
               ......

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

10、解锁主库
mysql> unlock tables;


11、注意点总结
(1) 变量最好放在[mysqld]段下,放到其他段下可能会有错误发生

(2) 在5.5的版本里不允许通过在从配置文件中添加maste-host等变量,要通过控制台 change master to 来设置

(3) 清理之前的主从备份
    mysql>stop slave;
    mysql>reset slave;

(4) MySQL 5.65.5之间做同步时,5.6的binlog_checksum默认设置的是crc32,
    而5.5 或者更早的版本默认值是None,所以要设置5.6上的 binlog_checksum=none
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值