MySql的主从备份配置说明

博客分类: 技术 阅读次数: comments

MySql的主从备份配置说明

说明

本文说明如何配置mysql数据库的主从备份

准备步骤

*两台mysql服务器,mysql版本建议再5.5以上 *假设主IP:192.168.1.2 *假设从IP:192.168.1.3 *主从数据库数据一致

主数据库master配置的修改

*修改/etc/my.cnf内容,查找替换为以下

## 日志文件名
log_bin = mysql-bin
## 主数据库端的ID号
server-id = 1

重启数据库

service mysql restart

创建用户同步的slave账号 slave_account,密码37588645

mysql> create user 'slave_account'@'%' identified by '37588645';

为slave_account账号赋予replication slave权限

mysql> grant replication slave on *.* to 'slave_account'@'%' identified by '37588645';

刷新权限

mysql> flush privileges;

以上已经要求数据一致,如果不一致,可以执行以下步骤,导出数据库

mysql>flush tables with read lock;
$ mysqldump -uroot -proot efly > efly.sql
mysql unlock tables;

查询master的状态

mysql> show master status;  
+------------------+----------+--------------+------------------+  
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
+------------------+----------+--------------+------------------+  
| mysql-bin.000009 |      196 |              |                  |  
+------------------+----------+--------------+------------------+  
1 row in set

需要记住mysql-bin.00009 196 这两个参数,后面要用到

从数据库配置的修改

*修改/etc/my.cnf

server-id = 2

配置连接哪台主服务器

mysql>change master to master_host='`192.168.1.2',master_user='slave_account',master_password='37588645',master_log_file='mysql-bin.000009',master_log_pos=196;
mysql>start slave;

检查备份状态:

mysql> show slave status\G;
*************************** 1. row ***************************  
               Slave_IO_State: Waiting for master to send event  
                  Master_Host: 192.168.1.2  
                  Master_User: slave_account  
                  Master_Port: 3306  
                Connect_Retry: 60  
              Master_Log_File: mysql-bin.000009  
          Read_Master_Log_Pos: 196  
               Relay_Log_File: vicky-relay-bin.000002  
                Relay_Log_Pos: 253  
        Relay_Master_Log_File: mysql-bin.000009  
             Slave_IO_Running: Yes  
            Slave_SQL_Running: Yes  
              Replicate_Do_DB:  
          Replicate_Ignore_DB:  
          ...  

注:Slave_IO_RUNNING及Slave_SQL_Running进程必须正常运行,即YES状态,否则说明同步失败。

如果要停掉备份状态,可以执行以下命令

mysql> stop slave;