您现在的位置是:首页 > 文章详情

MySQL 主从复制

日期:2018-11-29点击:601

MySQL的主从复制实现的原理就是 binlog 日志,那么我们主节点负责数据库写操作,而从节点负责读操作,这样在从节点上不需要使用事务,能够大大提高数据库的性能。那么这个时候面临的问题就是从节点如何来同步主节点数据的问题,就用到了我们之前说过的 binlog 日志。从节点通过 binlog 日志来与主节点进行数据同步。


视频链接:http://www.roncoo.com/course/view/658088f6e77541f5835b61800314083e 



三台节点,一个 master,两个 slave,规划如下


master 192.168.153.201


slave1 192.168.153.152


slave2 192.168.153.153



三台节点都是使用 CentOS6.9 操作系统,数据库使用的是 mysql5.7。


配置 master


1.创建用户并授权,比如我们的用户叫做 repl,创建用户语法如下:

create user ‘repl'

images/HYEHyMcKkDpTeZfsANTSCBftZsf3NEG2.png


2.授权。用户必须具备 replication slave 权限,除此之外不需要其他的权限

grant replication slave on *.* to 'repl'@'192.168.153.%' identified by 'repl';

images/Mb8ad2JnPdMedt5hBJ38fPjX2KtAcYAy.png


3.开启 binlog 日志


这里可以参考开启 binlog 日志的文档。


至此,主服务器就配置好了。下面来进行配置从服务器


slave1


1.修改 my.inf 配置文件

[mysqld]server-id=2relay-log-index=slave-relay-bin.indexrelay-log=slave-relay-bin


2.连接 Master

change master to master_host='192.168.0.104', //Master 服务器 Ip master_port=3306, master_user='repl', master_password='mysql', master_log_file='master-bin.000001',//Master 服务器产生的日志 master_log_pos=0; change master to master_host='192.168.153.201',master_port=3306,master_user='repl',master_passwo rd='repl',master_log_file='/var/lib/mysql/mysql-bin.000001',master_log_pos=0;


3.查看状态

show slaves status\G

images/6hcZRSdhhzFSpYM3PArKK5ydGeTBGrBW.png


这里关注两个地方,第一个是 Slave_IO_Running,第二个是 Slave_SQL_Running。这两个必须都为 yes 才可以启动从节点。那么问题出现在哪里呢,后面会有日志提示

images/GwKHPTBARh8kSsCeT7CtGa3St3M68xes.png


这里是说两台节点的 uuid 一致,要让这两台机器的 uuid 不一致才行,那么 uuid 在哪呢,在我们数据目录下 auto.cnf 文件中,只要修改这个文件就可以了。


images/2TcxyyjhiQnMMAz2X5jPGbncbyjZFicw.png


再来查看状态,然后就为 yes 了。


4.启动

start slave


5.关闭

stop slave


6.重置

resetslave


原文链接:https://blog.roncoo.com/article/129912
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章