MySql两台主机间热备份(双机热备份)
操作在Windows下进行。
一.设置主服务器
1.修改主机my.ini
server-id=1 #数据库id,默认1
log-bin=log_name #日志文件的名称,这里可以制定日志到别的
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.锁定现有数据库并备份现有数据 备份: mysqldump -uroot -proot health > c:\health201102028.sql 锁定: 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; //日志文件的开始位置(前面要求记住的参数) CHANGE MASTER TO MASTER_HOST="192.168.1.119",MASTER_USER="backupUser", MASTER_PASSWORD="123456789",MASTER_LOG_FILE="mysql_log.000003", MASTER_LOG_POS=106; 6.启动同步数据库的线程 mysql> slave start; 到此,就设置成功了。 查看从服务器上进程信息 mysql-> show processlist; 如果在一大堆参数中可以看到两个YES,那就成功了。 在主机更改数据mysql主机,从机数据立即随之改变。 (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |