- 论坛徽章:
- 0
|
MySQL数据库的双机热备。
现在假设主MySQL服务器地址为192.168.0.1,MySQL从服务器地址为192.168.0.2。MySQL数据库热备要求从服务器的版本要么和主服务器版本一致,要么高于主服务器版本,为了方便,我就选择了主从服务器版本一直。服务器版本的都是MySQL 5.0.22。并且将主服务器的配置文件my.cnf拷贝到了从服务器上,以便于修改。
具体的配置步骤如下:
1. 修改主服务器的配置文件
主要是添加日志记录:
log-bin=mysql-bin //日志文件名
binlog-do-db=dbname //需要日志记录的数据库
2. 锁定数据库,并打包数据库文件
为了尽量少的影响系统的运行,我先把数据库文件在锁定的情况下拷贝到另外一个目录,然后打开锁定,使主服务器正常运行,然后再打包备份的文件;
Mysql>Flush tables with read lock;
Root>cp data /var/data
Mysql>show master status/G //记录下日志文件的名字和当前的位置
Mysql>unlock tables;
如果数据库有innodb格式的,需要在备份文件时关闭服务器;
然后重新启动主服务器。
3. 为备份用户授权
Mysql> GRANT REPLICATION slave ON *.* TO 'backup'@'192.168.0.2' identified by 'password';
4. 建立从服务器的数据库
将主服务器备份的数据拷贝到从服务器的mysql的data目录中
5. 修改从服务器配置
master-host=192.168.0.1
master-user=backup
master-password=password
master-port=3306
server-id=2
master-connect-retry=60
replicate-do-db=dbname
log-slave-updates
6. 删除从服务器的master.info文件
7. 启动从服务器
mysqld_safe --skip-slave-start &
8. 在从服务器中修改如下参数:
Mysql>change master to
>master_host='192.168.0.1',
>master_user='backup',
>master_password='password',
>master_log_file='mysql-bin.000033', //文件名
>master_log_pos=9405971; //位置
8.启动从服务器的进程
Mysql>start slave;
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/33011/showart_281469.html |
|