当前位置: 首页 > ai >正文

【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step7—Mariadb初始化

注意事项
本文基于 Ubuntu 22.04 LTS 适配,部分包名和配置与 RedHat/Rocky/CentOS 有差异,请勿直接复用其它系统命令。如遇疑难欢迎在
VX 或 QQ 群与作者交流。

附录:完整内容和源代码下载请参照

https://doc.janettr.com/

在这里插入图片描述

在大数据集群与企业批量运维场景下,MariaDB 10.x 是兼容 Ambari 及 Hadoop 生态的理想数据库引擎,支持
utf8mb4,易于自动化运维,极大提升初始化效率和环境一致性。

1. 为什么选择 MariaDB 10?🤔

  • 支持 utf8mb4,彻底解决中文及表结构索引报错
  • 更强的 InnoDB 优化,支持更大内存池、日志管理与高并发
  • 社区长期维护、和 MySQL 语法高度兼容
  • 自动化脚本友好,所有关键参数和安全加固全可脚本化

相关异常示例

Specified key was too long; max key length is 767 bytes

MariaDB 10+ 解决了老版本(5.x)初始化表结构报错、乱码、索引过长等核心问题。

2. 配置 MariaDB 官方 APT 源并自动安装

2.1 推荐配置步骤

  • 自动切换 APT 镜像至阿里云或 TUNA
  • 添加 MariaDB 官方APT源(国内推荐阿里云源)
  • 批量分发、自动刷新索引
sudo apt-get install -y software-properties-common gnupg2 curl lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc | sudo gpg --dearmor | sudo tee /etc/apt/keyrings/mariadb.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/mariadb.gpg] https://mirrors.aliyun.com/mariadb/repo/10.11/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mariadb.list
sudo apt-get update
sudo apt-get install -y mariadb-server mariadb-client

不要用 yum/createrepo 等 RedHat 操作!Ubuntu 必须用 apt+官方 GPG KEY 体系。

MariaDB 10.11 阿里APT源结构截图

3. MariaDB 配置文件(兼容性与性能调优)

路径:/etc/mysql/my.cnf(或 /etc/mysql/mariadb.conf.d/50-server.cnf,以实际主文件为准)

[client]
default-character-set=utf8mb4[mysqld]
user=mysql
port=3306
basedir=/usr
datadir=/var/lib/mysql
socket=/run/mysqld/mysqld.sock
pid-file=/run/mysqld/mysqld.pidcharacter-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
default-storage-engine=InnoDBinnodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_file_per_table=1
innodb_thread_concurrency=8
bind-address=0.0.0.0
skip-name-resolve
max_connections=500slow_query_log=1
slow_query_log_file=/var/log/mysql/slow-query.log
long_query_time=2

配置文件路径和 RedHat 完全不同,Ubuntu 下 /etc/mysql/my.cnf/etc/mysql/mariadb.conf.d/50-server.cnf
,而不是 /etc/my.cnf

最佳实践图:my.cnf 结构说明
image-20250718172459942

4. 数据库目录与服务初始化

MariaDB 在 Ubuntu 下首次安装自动完成初始化,无需手动 mysql_install_db:

sudo systemctl restart mariadb
sudo systemctl enable mariadb
  • 检查状态

    sudo systemctl status mariadb
    
  • 数据文件目录为 /var/lib/mysql/,无需特殊授权

5. MariaDB 安全加固与 root 远程授权

5.1 安全初始化(自动化 expect 或脚本应答)

sudo mysql_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

5.2 批量自动授权 root 远程连接

ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('root');
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • 推荐自动化脚本或 expect 工具实现无人值守配置

5.3 验证远程连接

mysql -uroot -p'root' -h 192.168.3.1 -e "SELECT 1;"
  • 如返回 1,说明远程连接和授权已完成

6. MySQL Connector/J 驱动批量部署

  1. 所有 JDBC 组件建议统一用 MySQL 5.1.48 或官方最新版
  2. 下载地址、分发路径、软连接操作见自动化脚本参数
  3. Ambari 等依赖建议统一软连接 /usr/share/java/mysql-connector-java.jar
wget https://mirrors.aliyun.com/mysql/Connector-J/mysql-connector-java-5.1.48.tar.gz
tar -xzf mysql-connector-java-5.1.48.tar.gz
sudo cp mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar /usr/share/java/mysql-connector-java.jar
http://www.xdnf.cn/news/16730.html

相关文章:

  • 【兆易创新】单片机GD32F103C8T6系列入门资料
  • xcode swift项目运行、连接真机运行报错,引入文件夹失败
  • 伞状Meta分析重构癌症幸存者照护指南:从矛盾证据到精准决策
  • 法国彩虹重磅发布EmVue:解锁能源监控新方式
  • 电商一键上货软件推荐:实在Agent、面兜兜、京老虎、妙手、青虎
  • 如何快速给PDF加书签--保姆级教程
  • Elasticsearch IK 中文分词器指南:从安装、配置到自定义词典
  • Java 22 新特性解析与代码示例
  • C++ 构造函数语义学
  • c++详解(宏与内联函数,nullptr)
  • MongoDB 详细用法与 Java 集成完整指南
  • Java应用服务器选型指南:WebLogic vs. Tomcat、WebSphere、JBoss/Wildfly
  • C++ 前缀和、双指针
  • Linux 硬盘分区管理
  • 代理IP并发控制:多线程爬虫的加速引擎
  • CSS的2D转换
  • 用 Ubuntu 22.04 (Jammy) 的 MongoDB 源
  • SpringBoot AI应用实战:从图像识别到预测分析
  • EasyExcel 格式设置大全
  • 3ds Max V-Ray渲染崩溃?8招告别卡顿冻结
  • [2025CVPR-图象生成方向]ODA-GAN:由弱监督学习辅助的正交解耦比对GAN 虚拟免疫组织化学染色
  • Blender 4.5 安装指南:快速配置中文版,适用于Win/mac/Linux系统
  • Git 实现原理剖析
  • Eigent:革新复杂任务处理的多智能体协作平台技术解析
  • 使用 Vive Tracker 替代 T265 实现位姿获取(基于 Ubuntu + SteamVR)
  • Next.js 中使用 MongoDB 完整指南
  • C# 引用外部项目
  • MyBatis详解
  • forceStop流程会把对应进程的pendingIntent给cancel掉
  • FreeSWITCH与Java交互实战:从EslEvent解析到Spring Boot生态整合的全指南