mysql分布式教程

MySQL 主从复制

主从复制原理:MySQL 主从复制是指数据可以从一个 MySQL 数据库服务器主节点复制到一个或多个从节点。主库将写操作记录在二进制日志文件中,从库的 IO 线程请求读取主库的二进制日志并写入中继日志,然后 SQL 线程执行中继日志中的语句,使主从库操作一致,最终达到数据一致。

部署步骤:

基础环境准备:至少两台服务器,分别作为主库和从库,安装好 MySQL 数据库。

配置主库:修改主库的 MySQL 配置文件,如my.cnf,设置server-id(唯一标识),开启二进制日志log-bin等参数。重启 MySQL 服务后,创建用于主从复制的用户,并授予REPLICATION SLAVE权限。

配置从库:在从库的配置文件中设置server-id,并配置主库的连接信息,包括主库 IP、端口、复制用户等。启动从库的 IO 线程和 SQL 线程,开始与主库进行数据同步。

验证主从服务:在主库上创建数据库、表或插入数据等操作,然后在从库上查看是否能同步这些操作,以验证主从复制是否正常工作。
MySQL 集群部署

集群组成与原理:MySQL 集群通常由管理节点、数据节点和 SQL 节点组成。管理节点负责集群的配置和管理;数据节点负责存储和处理数据,通过 NDB 存储引擎将数据分布在各个节点上;SQL 节点负责处理 SQL 查询请求,将请求调度到合适的数据节点上进行处理。

部署步骤:

环境准备:至少三台服务器,分别用于管理节点、数据节点和 SQL 节点。确保每个节点有足够的内存、可用磁盘,安装好 MySQL 集群软件和相关工具,配置好网络环境,保证节点间能互相通信,且时间同步。

配置管理节点:安装管理节点软件,创建管理目录并设置权限,编辑配置文件config.ini,配置管理节点和其他节点的地址等信息。

配置数据节点:安装数据节点软件,为每个数据节点创建配置文件,配置数据节点的具体细节,如数据存储路径等。

配置 SQL 节点:确保 SQL 节点安装了 MySQL 服务器,编辑 MySQL 配置文件,启用 NDB 存储引擎。

启动集群:依次启动管理节点、数据节点和 SQL 节点。通过在 SQL 节点上创建数据库、表,插入数据并查询来测试集群是否工作正常。
读写分离实现

以 Flask-SQLAlchemy 为例:

自定义Session类,继承于SignallingSession类,重写get_bind方法,根据读写需求选择对应的数据库地址。例如,写操作访问主数据库,读操作随机选择从数据库。

自定义SQLAlchemy类,继承于SQLAlchemy类,重写create_session方法,在内部使用自定义的Session类。

相关推荐
ClickHouseDB7 分钟前
ClickHouse 26.6 版本发布说明
数据库
Wang's Blog9 分钟前
Java框架快速入门:深入MyBatis-Plus高级DML操作(ID策略·逻辑删除·乐观锁)
java·数据库·mybatis
她说可以呀36 分钟前
RabbitMQ Publisher_Confirms(发布确认)
分布式·rabbitmq·ruby
小二·11 小时前
RAG + 向量数据库实战:ChromaDB / Milvus / FAISS 选型与性能横评
数据库·milvus·faiss
矜持的左手11 小时前
电子小白的枕边书:电子学(The Art of Electronics)
数据库·restful
吴声子夜歌12 小时前
Redis 5.x——布隆过滤器
数据库·redis·缓存
蓝天下的守望者12 小时前
svt_apb_if里的宏定义问题
运维·服务器·数据库
上海云盾-小余12 小时前
网站频繁遭遇 SQL 注入溯源与原生漏洞修复全流程总结
数据库·sql
数据库小学妹12 小时前
国家区域医疗中心国产化改造实战:数据库选型、跨院区数据互通与踩坑经验
数据库·国产数据库·数据库选型·医疗信息化·信创数据库·医疗信创