RockyLinux 安装 Mariadb 11.8.x

所属分类:Database | 浏览:54 | 发布于 2026-07-03

Linux版本:Rocky Linux 9.7 (Blue Onyx)

Mariadb版本:11.8.8

mariadb安装包选择,选择linux-systemd安装包

包名称一般为mariadb-11.8.8-linux-systemd-x86_64.tar.gz这样的,什么是linux-systemd?linux-systemd 是 MariaDB 官方预编译二进制压缩包,内置 sytemd service 文件。普通 generic包只有老旧 mysql.server(sysvint脚本),没有预知systemd unit,需要手动写 service 文件。

99%的现代服务器推荐选择安装  linux-systemd 包。

安装约定

  • mariadb主程序安装到/usr/local/mysql 目录

本来是想安装到/usr/local/mariadb目录的,但是发现 mariadb.service 和 mariadb-secure-installation 里的路径都是 /usr/local/mysql,而且都是硬编码的,如果不按照到 /usr/local/mysql 目录,那这两个自带的文件就不能用。

  • 数据库文件存放到 /sangfor/server/mysql/data 目录

安装配置

1、安装系统依赖

dnf clean all
dnf install -y libaio openssl-devel gcc

2、创建mysql运行用户组

Rocky 9 无默认 mysql 用户,手动创建:

groupadd mysql
useradd -s /sbin/nologin -g mysql -M mysql

3、上传文件到/sangfor/software/mariadb目录

mkdir -p /sangfor/software/mariadb

4、解压缩文件,并重命名为/usr/local/mysql

tar zxvf mariadb-11.8.8-linux-systemd-x86_64.tar.gz
mv mariadb-11.8.8-linux-systemd-x86_64 /usr/local/mysql

5、创建独立数据目录

mkdir -p /sangfor/server/mysql/data

6、设置数据目录权限

chown -R mysql:mysql /sangfor/server/mysql/data
chmod 700 /sangfor/server/mysql/data  # 这句需不需要还待定

7、配置环境变量/etc/profile.d/paths.sh

MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

8、重载环境变量

source /etc/profile.d/paths.sh

9、编写配置文件 /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/sangfor/server/mysql/data
socket=/tmp/mysql.sock
pid-file=/sangfor/server/mysql/data/mysql.pid

port=3306
# 服务端正确参数,不要写default-character-set
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
lower_case_table_names=1

# InnoDB通用调参
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
sync_binlog=1

# 二进制日志(11.8支持传统位点+GTID,无需强制GTID)
log_bin=binlog
binlog_format=mixed
server-id=1

max_connections=1000
skip-name-resolve
log-error=/sangfor/server/mysql/data/msyql-error.log

# 客户端段放 default-character-set
[client]
socket=/tmp/mysql.sock
default-character-set=utf8mb4

[mariadb]
socket=/tmp/mysql.sock
#default-character-set=utf8mb4

[mysql]
socket=/tmp/mysql.sock
#default-character-set=utf8mb4

10、初始化数据库

/usr/local/mysql/scripts/mariadb-install-db \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/sangfor/server/mysql/data

11、注册自带 systemd 服务

cd /usr/local/mysql

# 复制官方预制service文件
cp support-files/systemd/mysql.service /usr/lib/systemd/system/

# 重载systemd识别服务
systemctl daemon-reload

# 设置开机自启 + 立即启动
systemctl enable --now mysql

# 查看运行状态
systemctl status mysql

也可以是mariadb版本

cd /usr/local/mysql

# 复制官方预制service文件
cp support-files/systemd/mariadb.service /usr/lib/systemd/system/

# 重载systemd识别服务
systemctl daemon-reload

# 设置开机自启 + 立即启动
systemctl enable --now mariadb

# 查看运行状态
systemctl status mariadb

12、执行安全操作

mysql_secure_installation

 

海涛博客(https://haitaoblog.com)属于海涛个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com W29

备案号:粤ICP备18108585号 友情链接