冬至到啦,小陈在此提前祝各位小伙伴们冬至快乐吖~
今天小陈给大家分享的是Mysql高可用的主从复制原理和搭建,小伙伴们准备好了嘛~
主从复制(也称AB复制)允许将来自一个Mysql数据库服务器(主服务器)到一个或多个Mysql数据库服务器(从服务器)
复制是异步的,细粒度可以达到表级别。
优点:
① 横向扩展:在多个从站之间分配负载以提高性能。【该环境下,所有的写入和更新在主服务器上进行,读取在一个或多个设备上进行,以此提高写入性能,提高读取速度】。
② 数据安全性:数据被复制到从站,并且从站可以暂停复制过程,所以可以在从站上运行备份服务而不会破坏相应的主数据。

① 主服务器上所有的所有修改都会通过自己的I/O进程保存在二进制上。
② 从服务器上会启动一个I/O线程,通过配置好的用户名和密码,连接到服务器上请求读取二进制日志,然后把读取到的二进制日志写入到本地的一个reply日志。
③ 从服务器上同时开启一个sql线程定时检查reply日志,如果发现有更新的内容在本机的数据库上执行一遍。
小陈的机器配置清单如下:
| linux版本 | 主机名 | ip | 数据库版本 |
| rhel 6.5 | host03(主) | 192.168.1.66 | 5.6.46 |
| rhel 6.5 | host04(从) | 192.168.1.77 | 5.6.46 |
小陈分享数据库安装步骤趴:
a: 查看系统是否自带mysql
# yum list installed | grep mysql
b: 移除mysql数据库
# yum list installed | grep mysql
c: 获取mysql的yum源
# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
d: 安装yum源
# rpm -ivh mysql-community-release-el6-5.noarch.rpm
e: 安装mysql服务器
# yum install -y mysql-community-server
f:安装完毕
# mysql -uroot
mysql> use mysql
mysql> update user set password='root' where user='root';
mysql> flush privileges;
g: 配置mysql开机启动
# chkconfig --list | grep mysqld
# chkconfig mysqld on
h: 配置安全设置(一路yes)
mysql_secure_installation
① 关闭防火墙

② 主服务器配置数据库文件

server_id默认是服务器ip末尾号
开启二进制文件

③ 主服务器配置复制数据的用户


④ 主服务器记录数据库二进制文件以及位置

此时,主服务器配置完成了!

⑤ 从服务器配置数据库文件

server_id默认是服务器ip末尾号
指定同步的数据库

⑥ 从服务器配置并同步数据

注意:master_log_file和master_log_pos是在主节点show master status得到的。

⑦ 测试主从复制
主服务器创建test数据库:

从服务器同步创建了test数据库

此时,主服务器和同服务器的数据实现实时同步啦~
完
好啦,今天小陈的分享就到这里辣~
小陈期待与你下一期的邂逅!
小伙伴,你在看吗?




