详解MYSQL主从复制配置步骤
Vivian 2018-06-12 来源 : 阅读 733 评论 0

摘要:本文主要向大家详解MYSQL主从复制配置步骤,通过具体的步骤向大家展现,希望对大家学习MYSQL有所帮助。

本文主要向大家详解MYSQL主从复制配置步骤,通过具体的步骤向大家展现,希望对大家学习MYSQL有所帮助。

情况1:MASTER和salve都是新库的情况

1.1 master的my.CNF文件

vi /etc/my.cnf

[mysqld]

log-bin = mysql-bin

server-id=1111

修改之后保存,并重启服务

1.2 sal replive的my.CNF文件

vi /etc/my.cnf

[mysqld]

log-bin = mysql-bin

server-id=2222

修改之后保存,并重启服务

保证slave和master的server的ID不一样

1.3创建用户用于传输副本

这个用户可以了解主备机器,需要有replication的权限

用mysql客服端连接到master主节点,创建用户repl并授予权限

MySQL>create user repl identified by '123456';

mysql>grant replication slave on *.* to repl;

1.4获取master上binary log的坐标(检查点)

选中这个坐标,相当于检查点,在这个检查点之后的数据变化都会写到binary log文件里面,

而这个检查点之前的数据不会写到bin log文件里面。会被忽略。

注意:在获取检查点的必须要停止所有在执行的SQL语句,并将缓存写人到磁盘

1 :打开master节点上,执行flush tables with read lock 语句来将所有的表缓存写到磁盘并阻塞随后的

写人操作

MySQL>flush tables with read lock;

2: 执行show master status 语句来确定当前的bin log文件名和检查点的位置

MySQL> show master status;

并记录相关数据,mysql-bin.00011112 position=154等等信息

3:得到bin log的检查点后,可以将表解锁

MySQL>unlock tables;

1.5 在备节点slave中配置master的信息

连接到slave,执行change master to 命令来告诉slave如何进行连接到master,并找到bin log文件,这里假设主节点的

IP为10.63.62.175,。

MySQL> change master to master_host = '10.63.62.175',master_user = 'repl',master_password ='123456',

master_log_file ='mysql-bin.000012', master_log_pos=154;

1.6开启SLAVE线程(备)

配置好change master to 后,replication的任务还没有开始远程连接。需要在备机器slave中执行start slave来开启。

MySQL》start slave;

用如下的命令查看replication的状态

MySQL》show slave status \G;

如果在主库中创建一个新的数据库,然后在备库中看是否存在,如果存在,说明主备搭建好了。

-----------------------------------------------------------------------------------

第二种情况是master库已经存在数据的情况

如果master库中存在数据,就需要mysqldump命令创建一份快照,并将快照导入到slave库中。

1.1 master的my.CNF文件

vi /etc/my.cnf

[mysqld]

log-bin = mysql-bin

server-id=1111

修改之后保存,并重启服务

1.2 sal replive的my.CNF文件

vi /etc/my.cnf

[mysqld]

log-bin = mysql-bin

server-id=2222

修改之后保存,并重启服务

保证slave和master的server的ID不一样

1.3创建用户用于传输副本

这个用户可以了解主备机器,需要有replication的权限

用mysql客服端连接到master主节点,创建用户repl并授予权限

MySQL>create user repl identified by '123456';

mysql>grant replication slave on *.* to repl;

1.4获取master上binary log的坐标(检查点)

选中这个坐标,相当于检查点,在这个检查点之后的数据变化都会写到binary log文件里面,

而这个检查点之前的数据不会写到bin log文件里面。会被忽略。

注意:在获取检查点的必须要停止所有在执行的SQL语句,并将缓存写人到磁盘

1 :打开master节点上,执行flush tables with read lock 语句来将所有的表缓存写到磁盘并阻塞随后的

写人操作

MySQL>flush tables with read lock;

2: 执行show master status 语句来确定当前的bin log文件名和检查点的位置

MySQL> show master status;

并记录相关数据,mysql-bin.00011112 position=154等等信息

3:用MySQLdump创建MySQL的备份

shell>mysqldump --all-databases --lock-all-tables > dbdump.db

4:得到bin log的检查点后,可以将表解锁

MySQL>unlock tables;

2.1将创建的备份导入到slave备库中

2.1启动slave库的MySQL服务,添加--skip-slave-start参数来确保不会启动replication同步

SHELL>mysql-safe --skip-slave-start &;

2.2导入dump文件

shell> mysql < fulldb.dump

2.3去掉--skip-slave-start参数并重启slave服务

mysql>shutdown;

shell> mysqld-safe &;

2.4 在slave中配置master的信息

MySQL> change master to master_host = '10.63.62.175',master_user = 'repl',master_password ='123456',

master_log_file ='mysql-bin.000012', master_log_pos=154;

2.5 开启SLAVE线程(备)

配置好change master to 后,replication的任务还没有开始远程连接。需要在备机器slave中执行start slave来开启。

MySQL》start slave;

用如下的命令查看replication的状态

MySQL》show slave status \G;

如果在主库中创建一个新的数据库,然后在备库中看是否存在,如果存在,说明主备搭建好了。

以上就介绍了MySQL的相关知识,希望对MySQL有兴趣的朋友有所帮助。了解更多内容,请关注职坐标数据库MySQL频道!

本文由 @Vivian 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程