MHA配合Atlas实现读写分离
MySQL读写分离
当需要进行读写分离时,必须先进行部署主从复制
MySQL读写分离类型
基于程序代码的内部实现
在代码中根据select、insert进行路由分类,在目前生产环境应用最广泛,优点是性能好,直接在程序代
码中实现,不需要额外的硬件支持,缺点是需要开发人员进行操作
基于中间代理层实现
代理一般位于客户端和服务端之间,代理服务器接收到客户端请求后通过判断后转发到后端数据库,有
两个代表性程序:Mysql-proxy、Amoeba(变形虫)
Atlas 介绍
Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。
它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。
360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。
基于GTID实现MHA高可用 实验
1.三台centos分别部署MySQL 5.7.26
yum install -y gcc gcc-c++ make ncurses-devel autoconf lrzsz
mkdir -p /server/tools
cd /server/tools/
rz
tar zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mkdir /application
mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql
useradd -s /sbin/nologin mysql
vim /etc/profile
export PATH=/application/mysql/bin:$PATH
source /etc/profile
mkdir /data
chown -R mysql.mysql /application/*
chown -R mysql.mysql /data
mkdir -p /data/mysql/data
chown -R mysql.mysql /data
mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=10
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)Documentation=MySQL :: MySQL 8.0 Reference Manual :: 2.5.9 Managing MySQL Server with systemd
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
mysqld_safe --skip-grant-tables --skip-networking &
mysql
flush privileges;
alter user root@'localhost' identified by '1
__EOF__

本文链接:https://www.cnblogs.com/Crushz-2024/p/18390309.html
关于博主:Crushz
版权声明:转载请注明来源哟~ QAQ
声援博主:UP UP UP !!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了