最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MysqlReplication最简单配置

来源:动视网 责编:小采 时间:2020-11-09 13:16:23
文档

MysqlReplication最简单配置

MysqlReplication最简单配置:Google 一下 Mysql Replication 可以找到相关配置说明满地都是,作为双机热备方案很多时候需要用到,但是稍微看下这些资料发现都是乱七八糟的,所以果断去读MySQL 5.1 Reference Manual: 16.1.1. How to Set Up Replication。资料
推荐度:
导读MysqlReplication最简单配置:Google 一下 Mysql Replication 可以找到相关配置说明满地都是,作为双机热备方案很多时候需要用到,但是稍微看下这些资料发现都是乱七八糟的,所以果断去读MySQL 5.1 Reference Manual: 16.1.1. How to Set Up Replication。资料


Google 一下 Mysql Replication 可以找到相关配置说明满地都是,作为双机热备方案很多时候需要用到,但是稍微看下这些资料发现都是乱七八糟的,所以果断去读MySQL 5.1 Reference Manual: 16.1.1. How to Set Up Replication。资料很长,不过最后总结的配置其

Google 一下Mysql Replication可以找到相关配置说明满地都是,作为双机热备方案很多时候需要用到,但是稍微看下这些资料发现都是乱七八糟的,所以果断去读MySQL 5.1 Reference Manual: 16.1.1. How to Set Up Replication。资料很长,不过最后总结的配置其实非常简单。

配置

1. In Master (例子IP 10.6.7.7)

my.cnf 添加这两行:

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

终端中运行:

mysqldump -uroot -p --all-databases --master-data | gzip -9 -c > dbdump.db.gz
scp dbdump.db.gz user@10.6.7.8:~
echo "CREATE USER 'repl'@'%' IDENTIFIED BY 'slavepass'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';" | mysql -uroot -p

2. In Slave (例子IP 10.6.7.8)

my.cnf 添加和Master不同的ID:

[mysqld]
server-id=1001

终端中运行:

MASTER_IP=10.6.7.7
 
(echo "SLAVE STOP; CHANGE MASTER TO MASTER_HOST='$MASTER_IP', MASTER_USER='repl', MASTER_PASSWORD='slavepass';"; zcat dbdump.db.gz;echo "SLAVE START;") | mysql -uroot -p

OK, 收工。

验证

要验证同步,在Master执行:CREATE DATABASE test_repl;, 在Slave执行 SHOW DATABASES;,可以看到test_repl同步完成,在Master执行:DROP DATABASE test_repl;,Slave的也相应消失。

完整的启动LOG /var/log/mysql/error.log大致如下,可看到replication线程启动正常。

120424 16:34:51 [Note] Plugin 'FEDERATED' is disabled.
120424 16:34:52 InnoDB: Initializing buffer pool, size = 8.0M
120424 16:34:52 InnoDB: Completed initialization of buffer pool
120424 16:34:52 InnoDB: Started; log sequence number 0 1174665
120424 16:34:52 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000001' at position 1060, relay log './ub1110-relay-bin.000024' position: 251
120424 16:34:52 [Note] Event Scheduler: Loaded 0 events
120424 16:34:52 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.61-0ubuntu0.11.10.1' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
120424 16:34:52 [Note] Slave I/O thread: connected to master 'repl@172.28.16.82:3306',replication started in log 'mysql-bin.000001' at position 1060

收尾

Slave的/var/log/mysql/error.log可能会看到一个warnning

120423 18:01:41 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his host name changed!! Please use '--relay-log=XXXXX-relay-bin' to avoid this problem.

如它所说,把这句加入到my.cnf[mysqld]即可。

日常维护

如果数据库操作频繁,binlog消耗的磁盘空间挺大的,设置Master的expire_logs_days可以控制存储binlog的文件个数。

如果留下了大堆binlog需要清理,可以执行这句清理7天前的binlog:

mysql -uroot -p -e "PURGE MASTER LOGS BEFORE DATE_SUB( NOW(), INTERVAL 7 DAY);"

文档

MysqlReplication最简单配置

MysqlReplication最简单配置:Google 一下 Mysql Replication 可以找到相关配置说明满地都是,作为双机热备方案很多时候需要用到,但是稍微看下这些资料发现都是乱七八糟的,所以果断去读MySQL 5.1 Reference Manual: 16.1.1. How to Set Up Replication。资料
推荐度:
标签: 设置 最简单 配置
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top