200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > mysql基于replication实现最简单的M-S主从复制

mysql基于replication实现最简单的M-S主从复制

时间:2019-06-04 22:39:41

相关推荐

mysql基于replication实现最简单的M-S主从复制

独角兽企业重金招聘Python工程师标准>>>

什么是replication

Replication可以实现数据从一台数据库服务器(master)复制到一到多台数据库服务器。

默认情况下,属于异步复制,因此无需维持长连接。

通过配置,你可以复制所有的库或者某几个库,甚至库中的某几个表

Replication原理

Master将数据库的改变写入二进制日志,salve同步这些数据库日志,并根据这些日志进行数据操作。

Replication用途

Failover故障切换

Backupsever备份服务

Highperformance高性能写在master,读在salve,实现读写分离

配置replication

最简单的M-S

1、salve是通过MySQL连接登录到master上面来读取二进制日志,因此需要在master上给salve配置相应的权限。

Grantreplicationsalveon*.*To‘’@’’identifiedby‘’;

Flushprivileges

2、在master上需要打开二进制日志,并标示sever_id

Sever_id用于表示唯一主机,数字取值范围1-2^32-1

#vi/etc/f

[mysqld]

Log_bin#打开二进制日志

Binlog_format=now#指定当前二进制格式以row记录,增加性能

Sync-binlog=1

Server-id=1#设定sever_id

#servicemysqlrestart

3、制作一个master的完整备份,并且执行prepare;

#innobackupex--user=dbapassword=beifen/var/lib/(备份目录)生成原始备份

生成备份目录的日志

#innobackkupex--use-memory=500m--apply-log/var/lib/(备份目录)

4、将备份拷贝至slave,并放入数据文件目录

Inmaster:

#scp-r/var/lib/backup/(二进制文件)salveip(salve的ip):/var/lib/backup

Inslave:

#cd/var/lib/backup/(文件)

#mv*/var/lib/mysql

#chmod-Rmysql.mysql/var/lib/mysql

5、在salve上配置sever_id,表示服务器

#vi/etc/f

[mysqld]

Sercer-id=2

#servicemysqlrestart

6、查看并记录二进制日志中的positionID

Insalve

#cd/var/lib/mysql

#catxtrabackup_binlog_info

Host2_bin.000001120

7、配置salveReplication.

Inslave

Changemasterto

MASTER_HOST=’masterip’

MASTER_USER=’’

MASTER_PASSWORD=’’

MASTER_LOG_FILE=’Host2_bin.000001’,

MASTER_LOG_POS=120;

8、启动REPlication并检查结果

InSlave

>Startslave

>Showslavestatus\G;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。