centos mysql安全设置指南

183
2025/3/15 12:32:38
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

安装MySQL

  1. 下载MySQL的Yum配置
yum install -y wget
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
  1. 安装下载的rpm包
yum -y install mysql57-community-release-el7-11.noarch.rpm
  1. 使用yum方式安装MySQL
yum -y install mysql-server --nogpgcheck
  1. 安装完成后,启动MySQL服务并检查状态
systemctl start mysqld.service
systemctl status mysqld.service

修改密码和开放端口

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

安全设置

  1. 运行 mysql_secure_installation 脚本
mysql_secure_installation

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

  • 设置 root 密码
  • 删除匿名用户
  • 禁止 root 用户远程登录
  • 删除测试数据库和访问权限
  • 重新加载授权表。
  1. 修改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
  1. 创建新用户并授权

为每个需要访问数据库的用户创建一个新的 MySQL 用户,并为其分配适当的权限。例如,创建一个名为 myuser 的新用户,并授予对 mydb 数据库的所有权限:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

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

  1. 定期更新和打补丁

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

sudo yum update

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 怎样在CentOS上优化Java编译性能