Windows上做MySQL5.5 主从热备份

2017-12-14 20:00:53来源:CSDN作者:ttt111zzz人点击

分享

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 密码:AXSwMyx7Flmysql>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:       主服务器的IPmaster_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

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台