Linux 系统下 MariaDB 的安装与配置指南
MariaDB 作为 MySQL 的一个分支,以其开源、高性能和丰富的功能特性,成为众多 Linux 发行版中数据库服务器的首选,本文将以主流的 CentOS 7 和 Ubuntu 20.04 为例,详细介绍 MariaDB 的安装、配置及基本使用方法,帮助用户快速搭建稳定的数据库环境。

安装前的准备工作
在安装 MariaDB 之前,需确保系统满足基本要求,并完成必要的准备工作,以 CentOS 7 为例,需确保系统已更新至最新状态,可通过以下命令完成:
sudo yum update -y
对于 Ubuntu 20.04,则需执行:
sudo apt update && sudo apt upgrade -y
建议为 MariaDB 配置独立的存储分区,以确保数据安全性和性能优化,若需启用 SELinux(CentOS 默认启用),需确保相关策略已正确配置,避免权限问题影响服务运行。
在 CentOS 7 上安装 MariaDB
MariaDB 官方 Yum 源提供了最新稳定版本的安装包,推荐优先使用官方源进行安装。
-
添加 MariaDB 官方 Yum 源
执行以下命令下载并安装 MariaDB 源配置文件:sudo yum localinstall https://downloads.mariadb.com/MariaDB/mariadb-repository-setup/10.5.8/mariadb-repository-setup-10.5.8.centos7.x86_64.rpm -y
根据需求选择版本(如 10.5、10.6 等),此处以 10.5.8 为例。
-
安装 MariaDB 服务器
添加源后,可通过以下命令安装 MariaDB 服务器、客户端及常用工具:sudo yum install -y MariaDB-server MariaDB-client
-
启动并设置开机自启
安装完成后,启动 MariaDB 服务并配置开机自启:sudo systemctl start mariadb sudo systemctl enable mariadb
-
安全初始化配置
执行安全脚本,设置 root 密码、移除匿名用户、禁止远程 root 登录等:sudo mysql_secure_installation
根据提示完成配置,建议启用二进制日志(binlog)以便后续数据恢复。

在 Ubuntu 20.04 上安装 MariaDB
Ubuntu 的 APT 源默认包含 MariaDB,但版本可能较旧,若需安装最新版本,可添加 MariaDB 官方 APT 源。
-
添加 MariaDB 官方 APT 源
首先安装必要的依赖包:sudo apt install -y software-properties-common curl
添加 MariaDB 官方密钥和源:
sudo curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash
-
安装 MariaDB 服务器
更新软件包列表后安装 MariaDB:sudo apt update sudo apt install -y mariadb-server
-
启动并设置开机自启
sudo systemctl start mariadb sudo systemctl enable mariadb
-
安全初始化配置
与 CentOS 类似,执行安全脚本进行初始化:sudo mysql_secure_installation
MariaDB 基本配置与优化
安装完成后,需对 MariaDB 进行基本配置以提升性能和安全性。
-
配置文件修改
MariaDB 主配置文件为/etc/my.cnf或/etc/mysql/my.cnf,可根据需求调整以下参数:[mysqld] datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.sock innodb_buffer_pool_size = 1G # 根据服务器内存调整,建议为内存的 50%-70% max_connections = 200 # 最大连接数,根据并发需求调整 character-set-server = utf8mb4 # 字符集设置 collation-server = utf8mb4_unicode_ci
修改后重启 MariaDB 服务使配置生效:
sudo systemctl restart mariadb
-
用户与权限管理
登录 MariaDB 控制台(默认 root 用户无密码,需通过sudo mysql登录):
sudo mysql
创建新用户并授权示例:
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'localhost'; FLUSH PRIVILEGES;
-
防火墙配置
若需远程访问 MariaDB,需开放默认端口 3306,以 CentOS 7 为例:sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
Ubuntu 可使用 UFW:
sudo ufw allow 3306/tcp
常见问题与解决方案
-
服务启动失败
检查日志文件/var/log/mariadb/mariadb.log,定位错误原因,常见问题包括端口占用、配置文件语法错误等。 -
忘记 root 密码
停止 MariaDB 服务,跳过权限表启动并重置密码:sudo systemctl stop mariadb sudo mysqld_safe --skip-grant-tables & mysql -u root
执行以下 SQL 重置密码(注意 MariaDB 5.7+ 需使用
alter user语句):UPDATE mysql.user SET password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;重启服务后使用新密码登录。
-
字符集乱码问题
确保配置文件中设置了正确的字符集,并检查数据库和表的字符集:SHOW VARIABLES LIKE 'character_set%';
通过以上步骤,用户可在 Linux 系统中成功安装并配置 MariaDB,MariaDB 的安装过程简单,且与 MySQL 高度兼容,适合从 MySQL 迁移或新项目部署,在实际应用中,建议根据业务需求调整参数配置,并定期备份数据以确保数据安全,如需进一步优化,可参考 MariaDB 官方文档,探索复制、集群等高级功能。


















