外观
3.1 安装与初始化
约 487 字
数据库安装
本页对应「三、操作步骤」的 3.1,完成安装与初始化。返回上级:数据库安装与基础配置文档。
前置条件
- 系统已完成更新,3306 端口未被其他进程占用。
- 具备 root 或 sudo 权限,磁盘与内存满足准备工作的要求。
- 已确定 root 密码的存放方式,能写入密码管理工具。
操作步骤
- 安装服务端与客户端。
sudo apt update
sudo apt -y install mariadb-server mariadb-client- 设为开机自启并立即启动。
sudo systemctl enable --now mariadb
systemctl status mariadb --no-pager- 执行安全初始化:设置 root 密码、删除匿名用户、禁止 root 远程登录、删除 test 库。
sudo mariadb-secure-installation- 核对版本、字符集与默认认证方式。
sudo mariadb -e "SELECT VERSION();"
sudo mariadb -e "SHOW VARIABLES LIKE 'character_set_server';"
sudo mariadb -e "SELECT user, host, plugin FROM mysql.user;"- 建立本地管理用的客户端凭据文件,避免在命令行输入明文密码。
sudo install -d -m 750 /etc/axis
sudo install -m 600 -o root -g root /dev/null /etc/axis/db.cnf写入 /etc/axis/db.cnf:
[client]
user=root
password=CHANGE_ME
socket=/run/mysqld/mysqld.sock- 用凭据文件验证免交互登录。
mysqladmin --defaults-file=/etc/axis/db.cnf ping
mysql --defaults-file=/etc/axis/db.cnf -e "SELECT 1;"结果确认
systemctl is-enabled mariadb返回 enabled,is-active返回 active。- 免交互登录成功,返回
mysqld is alive与数值 1。 mysql.user中无匿名用户,root 的 host 仅为 localhost。character_set_server为 utf8mb4,插件为 unix_socket 或 mysql_native_password。- 数据目录
/var/lib/mysql属主为 mysql,权限 700。
注意事项
- root 密码使用 16 位以上随机串并存入密码管理工具,不要写在脚本或文档中。
- Debian 系默认启用 unix_socket 认证,系统内可直接
sudo mariadb登录,无需密码。 - 不要删除 mysql.user 中的 root 记录,只调整其 host 与认证插件。
- 若为 MySQL 8,安装包为
mysql-server,安全初始化命令为mysql_secure_installation。