MySQL主从服务器的配置

 March 8, 2012, 11:20 p.m.   0 comments    MySQL

以前一直使用mysqldump+crontab的方式对MySQL数据库进行备份,这种方式用来对博客进行备份还是比较实用的,但是在备份VPN数据库这样实时性要求比较高的场合就显得不够用了,于是打算利用主从服务器进行备份。

主服务器的配置

修改主服务器的配置文件/etc/my.cnf,在[mysqld]段加入以下内容:

server-id=1  
log-bin  
binlog-do-db=''#需要备份的数据库  
binlog-ignore-db=''#不需要备份的数据库

然后重启mysql服务

/etc/init.d/mysqld restart

打开mysql shell,执行命令

mysql > show master status;

查看当前二进制文件的文件名及偏移位置,并记录下File和Position的值

从服务器的配置

修改从服务器的配置文件/etc/my.cnf,在[mysqld]段加入以下内容`

server-id=2  
master-host='主服务器IP地址'  
master-user='主服务器的备份帐号'  
master-pass='主服务器的备份密码'  
master-port='3306'#主服务器端口 
master-connect-retry=60 #  
replicate-do-db=''#需要备份的数据库  
replicate-ignore-db=‘’#不需要备份的数据库

将需要备份的数据库手动导入从服务器,然后重启mysql服务

/etc/init.d/mysqld restart

打开mysql shell,执行命令停止slave

mysql > stop slave;

接着,根据前面从主服务器上得到的二进制文件名以及偏移位置信息,设置从服务器

  mysql > CHANGE MASTER TO  
->MASTER_HOST='master_host_name',
->MASTER_USER='replication_user_name',
->MASTER_PASSWORD='replication_password',
->MASTER_LOG_FILE='recorded_log_file_name',
->MASTER_LOG_POS=recorded_log_position;

然后启动slave 

mysql > start slave;

查看slave状态

mysql > show slave status\G;

这时候,如果显示

Slave_IO_Running: Yes

并且

Slave_SQL_Running: Yes

就说明已经配置成功