【Ambari3.0.0 部署】Step7—Mariadb初始化-适用于el8

发布于:2025-06-22 ⋅ 阅读:(15) ⋅ 点赞:(0)

如果有其他系统部署需求可以参考原文

https://doc.janettr.com/install/manual/

在这里插入图片描述
在这里插入图片描述

MariaDB 10 是 Ambari 及大数据平台的常见数据库方案。本文适配 Rocky Linux 8.10,涵盖 MariaDB 10.11 推荐安装、YUM
源配置、参数优化、初始化和安全设置,帮助你一步到位完成兼容性和安全性部署。

本文基于 Rocky 8.10 做的适配,其他 el8 产品(如
CentOS8/Alma8)配置和包名可能会有出入,使用时请留意版本兼容性。如遇疑难可通过 VX 或 QQ 群与作者交流。

1. 为什么选用 MariaDB 10?🤔

  • 兼容性好:Ambari、Hadoop 等组件官方推荐 10.x 及以上,支持 utf8mb4,避免表结构或字符集出错。
  • 性能与安全提升:10.11 版本 InnoDB 优化、并发性能提升、慢查询日志等企业特性更丰富。
  • 主流社区活跃,国内镜像源丰富,便于快速部署。

2. 配置阿里云 MariaDB 10.11 YUM 源

Rocky 8 官方源不自带高版本 MariaDB,建议用阿里云或官方仓库。

sudo tee /etc/yum.repos.d/mariadb.repo <<'EOF'
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/rocky8-amd64/
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled = 1
module_hotfixes = 1
EOF

sudo dnf clean all
sudo dnf makecache

如需最新版,可至 阿里云 MariaDB 镜像 查询对应 Rocky8 最新路径。

3. 安装 MariaDB 服务端与客户端

先卸载老版本残留,避免冲突:

sudo dnf remove -y mariadb mariadb-server mariadb-libs

安装 10.11 版:

sudo dnf install -y MariaDB-server MariaDB-client

验证版本:

mariadb --version
# mariadb  Ver 15.1 Distrib 10.11.x-MariaDB, for Linux (x86_64)

4. 配置字符集、性能参数与远程访问

编辑 /etc/my.cnf(如无则创建):

[client]
default-character-set=utf8mb4

[mysqld]
user=mysql
port=3306
basedir=/usr
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# InnoDB 性能优化
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
innodb_thread_concurrency=8

# 允许远程连接
bind-address=0.0.0.0
skip-name-resolve
max_connections=500

# 启用慢查询日志
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow-query.log
long_query_time=2

如有业务节点多、内存充足,可适当调高 innodb_buffer_pool_sizemax_connections,按需调整。

5. 初始化数据库并启动服务

sudo mariadb-install-db --user=mysql --datadir=/var/lib/mysql
sudo systemctl restart mariadb
sudo systemctl enable mariadb

查看服务状态:

systemctl status mariadb

6. MariaDB 安全初始化

执行安全加固脚本:

sudo mariadb-secure-installation

根据提示:

  1. Enter current password for root (enter for none): 回车
  2. Switch to unix_socket authentication [Y/n]: n
  3. Change the root password? [Y/n]: y(建议设定强密码)
  4. Remove anonymous users? [Y/n]: y
  5. Disallow root login remotely? [Y/n]: n(需要远程请选 n)
  6. Remove test database and access to it? [Y/n]: y
  7. Reload privilege tables now? [Y/n]: y

7. 配置 root 远程访问与业务用户授权

登录 MariaDB:

sudo mariadb -uroot -p

在 SQL 提示符下:

CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如需 Ambari/Hive 业务库,预建用户:

CREATE DATABASE IF NOT EXISTS ambari;
CREATE DATABASE IF NOT EXISTS hive;
CREATE USER IF NOT EXISTS 'ambari'@'%' IDENTIFIED BY 'ambari';
CREATE USER IF NOT EXISTS 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8. 测试远程连接

在其他节点执行:

mysql -uroot -p'root' -h 192.168.3.1 -e "SELECT 1;"

出现 1 说明配置成功。


网站公告

今日签到

点亮在社区的每一天
去签到