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;

推荐阅读:

Ubuntu下Nginx做负载实现高性能WEB服务器5---MySQL主主同步

生产环境MySQL主主同步主键冲突处理

MySQL主从失败 错误Got fatal error 1236

MySQL主从复制,单台服务器上实施

相关内容