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类。

相关推荐
Goona_2 分钟前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
Olrookie44 分钟前
若依前后端分离版学习笔记(三)——表结构介绍
笔记·后端·mysql
程序员编程指南1 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
smileNicky1 小时前
RabbitMQ有多少种Exchange?
分布式·rabbitmq
你我约定有三1 小时前
RabbitMQ--消息丢失问题及解决
java·开发语言·分布式·后端·rabbitmq·ruby
Java初学者小白1 小时前
秋招Day19 - 分布式 - 分布式事务
java·分布式
幼儿园老大*3 小时前
数据中心-时序数据库InfluxDB
数据库·时序数据库
daixin88483 小时前
Redis过期数据的删除策略是什么?有哪些?
数据库·redis·缓存
程序员小羊!3 小时前
Zookeeper 3.6.3【详细技术讲解】整
分布式·zookeeper·云原生
Lemon程序馆3 小时前
今天聊聊 Mysql 的那些“锁”事!
后端·mysql