MariaDB主从配置与分库分表指南
需积分: 5 69 浏览量
更新于2024-08-05
收藏 1.11MB PDF 举报
"MariaDB-主从-01.pdf"
MariaDB是MySQL的一个分支,由MySQL创始人之一Monty Widenius发起,旨在保持开源并提供与MySQL兼容性。本资源主要介绍如何在Linux Red Hat 7环境下搭建MariaDB的主从复制架构以及分库分表的使用。
首先,进行MariaDB的卸载与安装。卸载时,需要停止服务,通过`systemctl stop mariadb`命令来关闭服务,然后查询并卸载相关的MariaDB包,包括`mariadb-server`, `mariadb`和`mariadb-libs`。在卸载过程中,确保没有依赖冲突,可以使用`rpm -e --nodeps`选项。
接着,准备安装环境。查看磁盘挂载情况,如果需要,挂载系统盘到 `/media` 目录下。在虚拟机中,可能需要手动挂载和卸载光驱。创建一个本地yum源,例如在`/etc/yum.repos.d/`目录下创建名为`yum.repo`的文件,并配置相应的源。然后,通过`yum -y install mariadb mariadb-server`命令安装MariaDB及其服务器组件。
安装完成后,拷贝`my-huge.cnf`配置文件至`/etc/my.cnf`,以调整数据库配置。启动MariaDB服务并设置为开机自启,使用`systemctl start mariadb`和`systemctl enable mariadb`命令。为了允许数据传输,需要关闭防火墙,使用`systemctl status firewalld`检查防火墙状态,然后执行`systemctl stop firewalld`和`systemctl disable firewalld`命令禁用防火墙。
接下来,设置MariaDB数据库的安全性,执行`/usr/bin/mysql_secure_installation`脚本。此脚本会引导用户完成一系列安全配置,如设置root用户的密码、删除匿名用户、禁止root远程登录等。
对于主从复制,这涉及到数据库的复制配置。在主服务器上,需要修改`my.cnf`文件,添加或编辑`server-id`、`log-bin`等参数开启二进制日志。然后,创建一个用于复制的用户并授权,例如`GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%' IDENTIFIED BY 'password';`。在从服务器上,配置相同的`server-id`(但必须不同),并指定主服务器的地址和复制用户信息,例如`CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4;`。最后,在从服务器上启动复制进程`START SLAVE;`。
至于分库分表,这是一种数据库扩展策略,用于解决单个数据库实例的性能瓶颈。分库是将一个大库拆分成多个小库,每个库处理一部分数据,分表则是将一张大表拆分成多张小表,通常采用水平分割或垂直分割。水平分割根据某个字段的值范围或哈希值进行,如用户ID;垂直分割则根据列的业务相关性,将相关列放在同一张表中。分库分表可以提高并发处理能力,降低单表的数据量,但也会带来数据一致性、事务处理和跨库查询的复杂性。因此,需要结合业务需求和数据库设计进行合理规划。
2022-07-11 上传
2022-07-13 上传
2021-10-10 上传
2022-07-11 上传
2017-02-14 上传
2017-12-19 上传
2021-04-25 上传
2021-05-10 上传
2022-11-20 上传
择业
- 粉丝: 25
- 资源: 21
最新资源
- pwmetrics:渐进式Web指标触手可及
- 断电
- AzureDevOps_Terraform_ResourceType_AutoApprovals
- Excel模板大学考试表.zip
- HHT_配电网故障_故障电弧_电弧故障_电网HHT变换_电弧
- gcForest:这是“深林”论文的正式实施
- 数据库课程设计——企业仓库存储管理系统.zip
- run-buddy
- Bouc Wen_Bouc_Wen_bouc_bouc-wen模型_Bouc-wen_Boucwen
- konsum-进口商
- ode_model_error
- react-drag-drop-container:适用于鼠标和触摸设备的ReactJS拖放功能
- Excel模板大学考试成绩报告表.zip
- Model-Based-Design-Maturity,图像加密的matlab源码,matlab
- curl源文件curl-8.5.0.zip
- ayapingping-js:NodeJS中的入门包框架,用于构建REST API应用程序