MySQL Replication(主从服务器)配置实例
第一部分 配置 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;
推荐阅读: