MariaDB主从配置与分库分表指南

需积分: 5 0 下载量 61 浏览量 更新于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;垂直分割则根据列的业务相关性,将相关列放在同一张表中。分库分表可以提高并发处理能力,降低单表的数据量,但也会带来数据一致性、事务处理和跨库查询的复杂性。因此,需要结合业务需求和数据库设计进行合理规划。