Mysql主从集群与高可用架构

MySQL安装

MySQL官网下载 mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
上传至/usr/local目录下,解压重命名为mysql-8.0.23

cd /usr/local
rz
tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz (-xvf解压tar.xz, -zxvf解压tar.gz)
mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql-8.0.23
cd mysql-8.0.23
mkdir data (创建数据目录data)
ll

在这里插入图片描述
初始化Mysql (注意:最好新建一个用户,这里为方便演示使用的是root用户)

cd bin
./mysqld --user=root --basedir=/usr/local/mysql-8.0.23 --datadir=/usr/local/mysql-8.0.23/data/ --initialize

在这里插入图片描述
修改/etc/my.cnf配置文件 (1.修改basedir, datadir 2.注释掉mysqld_safe及log-error, pid-file)

vi /etc/my.cnf

在这里插入图片描述

添加mysqld服务
在这里插入图片描述
启动mysql服务
在这里插入图片描述
启动服务异常!!!
修改/etc/init.d/mysql中的"start"部分,添加root用户启动即可
在这里插入图片描述
再次启动服务
在这里插入图片描述
启动成功!

接着可以添加mysql命令到服务

ln -s /usr/local/mysql-8.0.23/bin/mysql /usr/bin

同时登录连接MySQL(输入之前初始化时生成的临时密码)
在这里插入图片描述
登录成功!

接着修改root用户密码并刷新权限使之生效

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’;
flush privileges;

在这里插入图片描述

接着修改root用户支持远程连接并刷新权限使之生效

use mysql;
update user set host=‘%’ where user=‘root’;
flush privileges;

在这里插入图片描述
防火墙永久开放3306端口(注意:若已停用/已禁用防火墙此步骤可以忽略)

firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
#查看防火墙端口状态
firewall-cmd --list-all

现在可以用客户端工具进行远程连接MySQL服务了!
在这里插入图片描述

主从同步

在这里插入图片描述
MySQL主从同步复制默认采用异步复制的方式,主节点执行完用户提交的事务后写入Binlog日志然后返回客户端响应,另外Binlog会由一个dump线程异步传输至从节点;

为保证数据一致性,MySQL主从架构严格限制从节点数据写入,即只能将数据从主节点同步到从节点,主节点提供数据写操作从节点提供数据读操作,并且后续的读写分离也是基于主从同步进行处理的。

若需要限制从节点数据写入
1.可以在从节点配置文件中设置read_only=1(set global read_only=1;)只读(该操作限定的是普通用户只读,对super权限用户无效,并且该操作不会影响从节点数据同步)
2.从节点执行 flush tables with read lock; 操作 (该操作可限制super权限用户写操作,但是会影响从节点同步复制)

实战配置

方式一:Binlog同步

1、配置主节点/etc/my.cnf

[mysqld]
#指定MySQL集群节点id(保证唯一)
server-id=1
#开启binlog
log_bin=master-binlog
log_bin-index=master-binlog.index

#配置需要同步的数据库
binlog-do-db=masterslave
#配置不需要同步的数据库
binlog-ignore-db=sys
binlog-ignore-db=information_schame
binlog-ignore-db=performation_schema
#数据log保留时间()
expire-logs-days=7

skip-name-resolve

port=3306
#指定MySQL安装目录
basedir=/usr/local/mysql-8.0.23
#指定MySQL数据存放目录
datadir=/usr/<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值