MySql两台主机间热备份(双机热备份)

时间:2022-06-01 18:53:15

MySql提供了基于日志的主从备份机制。

 

操作在Windows下进行。

一.设置主服务器

1.修改主机my.ini

    server-id=1 #数据库id,默认1

    log-bin=log_name #日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称

    binlog-do-db=db_name #记录日志的数据库

    binlog-ignore-db=db_name #不记录日志的数据库

2.为从机设置一个备份账户

    mysql> GRANT REPLICATION SLAVE ON *.*

    -> TO "backupUser"@"192.168.1.100" IDENTIFIED BY "password";

    重启服务器。

3.锁定现有数据库并备份现有数据

    锁定:

    mysql> FLUSH TABLES WITH READ LOCK;

    备份。备份完毕后,查看主服务器的状态
    mysql> show master status;
    +-----------------+----------+--------------+------------------+
    | File        |  Position  |  Binlog_Do_DB | Binlog_Ignore_DB |
    +-----------------+----------+--------------+------------------+
    | mysqlbackup.003 |     106    |         test      |    manual,mysql   |
    +-----------------+----------+--------------+------------------+
    记录File 和 Position 项目的值mysqlbackup.003和106。

    打开数据库锁定:

     mysql> UNLOCK TABLES;

二.设置从服务器

1.修改从机my.ini

    server-id=n //设置数据库id,可以随便设置。但不能重复

    master-host=192.168.1.100 //主服务器的IP地址或者域名
    master-port=3306 //主数据库的端口号
    master-user=backupUser //同步数据库的用户
    master-password=123456789 //同步数据库的密码
    master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差

2.导入主机备份的数据库

3.重启从机服务器

4.停止slave的服务
    mysql> slave stop;

5.在从机上设置主服务器的参数
    mysql> CHANGE MASTER TO
    -> MASTER_HOST="192.168.1.100", //主服务器的IP地址
    -> MASTER_USER="backupUser", //同步数据库的用户
    -> MASTER_PASSWORD="123456789", //同步数据库的密码
    -> MASTER_LOG_FILE="mysqlbackup.003", //主服务器二进制日志的文件名(前面要求记住的参数)
    -> MASTER_LOG_POS=106; //日志文件的开始位置(前面要求记住的参数)
6.启动同步数据库的线程
    mysql> slave start;

 

到此,就设置成功了。

查看从服务器上进程信息

    mysql-> show processlist;

如果在一大堆参数中可以看到两个YES,那就成功了。

在主机更改数据,从机数据立即随之改变。