MySQL Replication(主从服务器)配置实例

2014-11-24 17:37:28 · 作者: · 浏览: 0

第一部分 配置 MASTER (10.0.0.1)


1、开启主数据库服务器的binary logging,并且分配唯一的server-id。打开配置文件/etc/qa_my.cnf,并且在[mysqld]分组下增加指令:


[mysqld]
log-bin=mysql-bin
server-id=3


2、然后重启主服务器:


mysqladmin -uroot -p shutdown
/usr/local/mysql/bin/mysqld_safe --user=mysql &


第二部分 配置SLAVE


1、为从服务器配置唯一的server-id。打开配置文件/etc/my.cnf,在[mysqld]分组下面增加指令:


[mysqld]
server-id=5


2、重启从服务器:


mysqldump-uroot -p shutdown
/usr/local/mysq/bin/mysqld_safe --user=mysql &


第三部分 获取MASTER BINARY LOG的坐标


1、在本地打开一个终端,并给数据表增加读锁,防止写操作的发生:


mysql-h 10.0.0.1 -uxingwang -p
->flush tables with read lock;


2、在本地打开另一个终端,执行以下语句:


mysql-h 10.0.0.1 -uxingwang -p
->show master status;


查询出来的结果当中,File列表示当前的log文件名,Position列表示文件中的位置。


也就是说,现在binlog记录到了这个位置。


第四部分 手工同步主服务器到从服务器


1、保持上一部分打开的第一个终端不关闭;


2、将主服务器数据目录下的数据文件拷贝到从服务器。包括目标数据表的文件夹和innodb引擎的ibdata*、ib_logfile*文件:


mkdir /usr/local/mysql/data/test
scp xingwang@'10.0.0.1':/usr/local/var/test /usr/local/mysql/data/test
scp xingwang@'10.0.0.1':/usr/local/var/ibdata1 /usr/local/mysql/data/
scp xingwang@'10.0.0.1':/usr/local/var/ibdata2 /usr/local/mysql/data/
scp xingwang@'10.0.0.1':/usr/local/var/ib_logfile1 /usr/local/mysql/data/
scp xingwang@'10.0.0.1':/usr/local/var/ib_logfile2 /usr/local/mysql/data/


第五部分 在从服务器上配置主服务器的参数


1、打开一个从服务器的终端,执行一下命令:


mysql-u root -p
->CHANGE MASTER TO
MASTER_HOST= '10.0.0.1',
MASTER_PORT= '3306',
MASTER_USER= 'xingwang',
MASTER_PASSWORD= '***',
MASTER_LOG_FILE= '',
MASETE_LOG_POS= '';


2、执行start salve;


推荐阅读: