码迷,mamicode.com
首页 > 数据库 > 详细

mysql简单的主从复制

时间:2016-06-09 08:38:24      阅读:342      评论:0      收藏:0      [点我收藏+]

标签:mysql的简单主从复制

物理机win7,虚拟机为两台centos7系统

实验myslq数据库简单的主从复制:


主节点:192.168.255.2

从节点:192.168.255.3

使用rpm包安装的mariadb-server


配置主节点:

]# vim /etc/my.cnf

技术分享


]# systemctl start mariadb.service

确保主节点的iptables没有阻断3306端口;

技术分享


> SHOW GLOBAL VARIABLES LIKE ‘%log%‘;

确认二进制日志启动;

技术分享


查看server id

技术分享


创建有复制权限的账号:

> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘repluser‘@‘192.168.255.%‘ IDENTIFIED BY ‘replpass‘;

> FLUSH PRIVILEGES;


查看二进制日志并记录日志位置:

技术分享


配置从节点:

]# vim /etc/my.cnf

技术分享


查看中继日志开启;

技术分享


查看唯一ID:

技术分享


在从节点:

使用有复制权限的用户账号连接至主节点,并启动复制线程;

指定二进制日志文件及位置:

> CHANGE MASTER TO MASTER_HOST=‘192.168.255.2‘,MASTER_USER=‘repluser‘,MA

STER_PASSWORD=‘replpass‘,MASTER_LOG_FILE=‘master-bin.000003‘,MASTER_LOG_POS=499;


启动从节点复制功能:

> START SLAVE;


查看从节点状态信息:

技术分享


此时,主从复制配置完成;主节点再有任何写操作事务日志记录,都会同步到从节点上并在从节点上replay;


验证主从复制:


例如:在主节点创建库:

创建前主从节点中的库信息都是初始时默认存在的库:

技术分享


在主节点创建新库:

> CREATE DATABASE mydb;


查看状态信息:

技术分享

二进制日志中的事务位置发生了变化,此时从节点应该已经发生了同步;


在从节点查看:

技术分享


查看从节点状态:

技术分享


此时,还要设置从服务器不能由写操作,因为只有让主节点接受写操作,从节点只负责读请求,所有的写操纵都必须从主节点复制到本地中继日志中replay后完成的:


设置从节点只读:

> SET GLOBAL read_only=ON;

技术分享


在从节点:

查看文件:

]# cat /var/lib/mysql/master.info

技术分享

此文件就是为什么能设置开机后自动实现启动复制功能的重要文件;


查看从节点的中继日志文件:

技术分享


主节点:保证从节点及时得到更新

应该设置此项:

技术分享


从节点:

relay_log也会在内存中先缓冲,让每一次写出都立即同步到磁盘上,数据安全性提升,但磁盘io压力变大,性能会有所下降;

还要设置如下参数:

技术分享


演示完成。

mysql简单的主从复制

标签:mysql的简单主从复制

原文地址:http://linsj.blog.51cto.com/5440766/1787593

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!