用途:在创建用户、授予权限、选择认证插件、启用角色、配置静态加密或 TLS、以及从旧版本迁移用户前,先了解 MariaDB 的安全模型,避免把 MySQL 的安全命令直接套用到 MariaDB。
主要能力与要点: 认证插件化,按 mysql.global_priv 的 plugin 字段选择验证方式。ed25519 为现代默认,mysql_native_password(SHA-1)为遗留;unix_socket 适合本地 root,gssapi 用于 Kerberos/AD,pam 用于集中式 PAM。ed25519 需 INSTALL SONAME 'auth_ed25519',创建用户可用 IDENTIFIED VIA ed25519 USING PASSWORD('secret')。 权限自 10.4+ 存于 mysql.global_priv(JSON),mysql.user 仅为兼容视图;应直接查询 global_priv,且用 GRANT/REVOKE 而非手改 JSON。 角色自 10.0.5 起存在,GRANT 角色后须 SET DEFAULT ROLE 才能在连接时生效。 静态加密需同时开启 innodb_encrypt_tables、innodb_encrypt_log、encrypt_binlog、encrypt_tmp_files、aria_encrypt_tables 等,仅加密表会经 binlog 与临时文件泄露;密钥文件应 chmod 0400 mysql:mysql,12.0.1+ 可启用 PBKDF2 与 sha256。 TLS 需服务端 ssl_ca/ssl_cert/ssl_key 与用户侧 REQUIRE SSL(或更严格)同时配置,tls_version 建议 TLSv1.2,TLSv1.3;复制链路应设 MASTER_SSL_VERIFY_SERVER_CERT=1。
使用方式:按文档中的 SQL 与 my.cnf 片段配置,并在安装或大版本升级后运行一次 mariadb-upgrade 迁移 mysql.user 行。
适用场景与限制:适用于 MariaDB 部署的安全配置与审计;具体版本行为、插件可用性以实际环境为准,资料未提供收费、价格或性能数据。