以下是Ubuntu MySQL的安全设置步骤:
安装MySQL
sudo apt update
sudo apt install mysql-server
运行安全脚本
sudo mysql_secure_installation
按提示设置强密码、删除匿名用户、禁止远程root登录、删除测试数据库。
配置远程访问(可选)
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address从127.0.0.1改为0.0.0.0(允许所有IP访问),或指定特定IP。sudo systemctl restart mysql
创建受限用户并授权
CREATE USER 'username'@'host' IDENTIFIED BY '强密码';
GRANT SELECT, INSERT, UPDATE ON database.* TO 'username'@'host';
FLUSH PRIVILEGES;
ALL PRIVILEGES,按需分配最小权限。localhost或特定网段)。启用SSL加密(可选)
在配置文件中添加:
[mysqld]
ssl-ca=/path/to/ca.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem
并在用户授权时指定REQUIRE SSL。
防火墙配置
sudo ufw allow 3306/tcp # 允许MySQL端口
sudo ufw enable
定期维护
sudo apt update
sudo apt upgrade mysql-server
禁用危险功能(可选)
在配置文件中设置:
[mysqld]
local-infile=0 # 禁用本地文件加载
关键原则:最小权限、强密码、限制远程访问、定期更新。