1、更新 Ubuntu 系统。
sudo apt update # 更新软件包列表
sudo apt upgrade -y # 升级软件包
2、添加 MariaDB 软件源。
# 导入 GPG 密钥,确保下载的 MariaDB 软件包安全可靠:
curl -fsSL http://mirror.mariadb.org/PublicKey_v2 | sudo gpg --dearmor | sudo tee /usr/share/keyrings/mariadb.gpg > /dev/null
# 选择适当服务器的 MariaDB 版本,并添加软件源,我这里使用11.4,[其它版本](https://mariadb.org/download/)
echo "deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/mariadb.gpg] http://mirror.mariadb.org/repo/11.4/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mariadb.list
#更新软件包列表,让 Ubuntu 识别新添加的 MariaDB 软件源。
sudo apt update
3、安装 MariaDB。
sudo apt install mariadb-server -y
# 查看安装版本
sudo mariadb --version
# 或
sudo mysql --version
# 查看运行状态
sudo systemctl status mysql
# 或
sudo systemctl status mariadb
4、加强 MariaDB 安全性
sudo mysql_secure_installation
运行安全脚本后,系统会引导你完成以下几项安全设置:
除了第一个选择n,其它就建议使用默认Y。
1、Switch to unix_socket authentication 选择是否使用 Unix Socket 身份验证代替传统的用户名和密码方式。如果需要远程连接数据库,请选择n。
2、Change the root password 为 root 设置一个强密码,这是提升安全性的关键步骤。
3、Remove anonymous users 匿名用户可能带来安全风险,建议删除。
4、Disallow root login remotely 限制 root 用户只能在本地登录,增加安全性。
5、Remove test database and access to it 删除 MariaDB 默认提供的测试数据库,减少安全风险。
6、Reload privilege tables now 立即重新加载权限表,让所有更改立即生效。
5、设置root用户密码
为什么前边初始化时设置的密码,还是可以通过msyql直接就进去。原因大概是 mysql.global_priv 表,查询后我发现有个 "auth_or": [{}, {"plugin": "unix_socket"}],root用户还是unix_socker类型,这就是为啥还能直接登陆进去的原因。
直接修改一下密码就正常了
MariaDB [(none)]> ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("my#password");
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)