WangYan Blog

WangYan's Blog 发现、实践、分享!

0

MySQL复制(Replication)配置笔记

MySQL 支持一种叫复制(replication)的特性,作用是可以将MySQL主服务器数据(Master)异步复制到MySQL从服务器(Slave),以实现多台服务器数据的实时同步。

MySQL Replication 详细配置请参考官方手册:《MySQL中的复制》《Replication》

一、MySQL主复制配置

1、清理MySQL日志

1
2
3
mysql>show BINARY logs;
mysql>purge BINARY logs TO 'mysql-bin.000325';
mysql>FLUSH LOGS;

2、锁表、获取主复制日志名和偏移量

1
2
3
mysql>FLUSH TABLES WITH READ LOCK;
mysql>show master STATUS\G
mysql>UNLOCK TABLES;

打包MySQL数据,并传送到从服务器

1
2
3
cd /usr/local/mysql/data
tar -cvf /tmp/mysql-snapshot.tar .
scp /tmp/mysql-snapshot.tar root@176.32.85.16:/tmp

3、创建从复制连接用户

注意修改默认用户名:repl、密码:slavepass

1
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'slavepass';

4、MySQL配置文件

1
2
3
4
5
6
7
[mysqld]  
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
binlog-ignore-db=phpmyadmin
innodb_flush_log_at_trx_commit=1
slave-skip-errors=all

配置主-主服务器时必须额外使用下面选项:

1
2
3
4
log-slave-updates
sync_binlog=1
auto_increment_offset=2
auto_increment_increment=1

二、MySQL从复制配置

1、还原数据快照

1
2
cd /usr/local/mysql/data
tar -xvf /tmp/mysql-snapshot.tar

2、配置主服务器信息

1
2
3
4
5
6
CHANGE MASTER TO
MASTER_HOST='106.187.38.210',
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1579;

3、启动从复制进程、查看状态。

1
2
mysql>start slave;
mysql>SHOW SLAVE STATUS\G;

注:上面所有操作都是可以在phpMyadmin中以图形化方式完成。

原文地址 : https://wangyan.org/blog/replication.html
本站遵循 : 知识共享署名-非商业性使用-相同方式共享 3.0 版权协议
版权声明 : 原创文章转载时,请务必以超链接形式标明 文章原始出处
作者:WangYan | 分类:学习笔记 | 标签: Null
上一篇:Linode合租:如何使用镜像服务器 | 下一篇:VPS自动备份Shell脚本

发表新评论 »