温馨提示×

centos mysql安全设置有哪些

小樊
55
2025-06-30 10:04:45
栏目: 云计算

在CentOS系统上设置MySQL的安全性的方法如下:

安装MySQL

  • 使用yum安装MySQL CentOS 8及以上版本使用 dnf 包管理器,CentOS 7使用 yum 包管理器。
  • CentOS 8: sudo dnf install mysql-server
  • CentOS 7: sudo yum install mysql-server
  • 启动MySQL服务并设置开机自启。
  • CentOS 8: sudo systemctl start mysqld && sudo systemctl enable mysqld
  • CentOS 7: sudo systemctl start mysqld && sudo systemctl enable mysqld

修改密码和开放端口

  • 查看Linux安装的MySQL临时密码并修改密码:
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p 临时密码 alter user 'root'@'localhost' identified by '新密码';
  • 开放Linux防火墙特定端口并开通MySQL远程登录权限:
firewall-cmd --list-port
firewall-cmd --list-services
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
  • 开通MySQL远程登录权限:
mysql -uroot -p
use mysql; select host from user where user = 'root';
update user set host = '%' where user = 'root';
flush privileges;

安全设置

  • 运行 mysql_secure_installation 脚本:
mysql_secure_installation

这个脚本会引导你完成以下操作:

  • 设置 root 密码
  • 删除匿名用户
  • 禁止 root 用户远程登录
  • 删除测试数据库和访问权限
  • 重新加载授权表。
  • 修改MySQL配置文件:
sudo vi /etc/my.cnf

[mysqld] 部分添加或修改以下设置:

  • 禁止远程 root 登录:
bind-address = 127.0.0.1
  • 设置最大连接数:
max_connections = 500
  • 设置数据目录的权限:
datadir=/var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
chmod -R 700 /var/lib/mysql

保存更改并重启 MySQL 服务:

sudo systemctl restart mysqld

用户权限管理

  • 创建新用户并授权:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

如果需要允许此用户从其他主机访问,将 ‘localhost’ 替换为相应的主机名或 IP 地址。

定期更新和打补丁

  • 确保定期更新系统和软件包,以修复已知的安全漏洞。可以使用以下命令更新系统:
sudo yum update

通过以上步骤,你可以提高 CentOS 上MySQL 的安全性。请根据实际需求调整配置设置。

0