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

    技术2023-12-14  77

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

    操作在Windows下进行。

    一.设置主服务器 1.修改主机my.ini

    #数据库id,默认1(建议设置成本机IP) server-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

    #设置数据库id,可以随便设置。但不能重复(建议设置成本机IP) server-id=n #主服务器的IP地址或者域名 master-host=192.168.1.100 #主数据库的端口号 master-port=3306 #同步数据库的用户 master-user=backupUser #同步数据库的密码 master-password=123456789 #如果从服务器发现主服务器断掉,重新连接的时间差 master-connect-retry=60

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

    3.重启从机服务器

    4.停止slave的服务

     mysql> stop slave;

    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> start slave;

    到此,就设置成功了。

    查看从服务器上进程信息

    mysql-> show slave status;

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

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

    Processed: 0.011, SQL: 10