阅读量:238
在CentOS上设置MySQL的安全性的方法如下:
安装MySQL下载MySQL的Yum配置:
yum install -y wget
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装下载的rpm包:
yum -y install mysql57-community-release-el7-11.noarch.rpm
使用yum方式安装MySQL:
yum -y install mysql-server --nogpgcheck
安装完成后,启动MySQL服务并检查状态:
systemctl start mysqld.service
systemctl status mysqld.service
修改密码和开放端口查看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;
select host from user where user = 'root';
安全设置运行 mysql_secure_installation 脚本:
mysql_secure_installation
这个脚本会引导你完成以下操作:
修改MySQL配置文件:
sudo vi /etc/my.cnf
在 [mysqld] 部分添加或修改以下设置:
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
创建新用户并授权:
为每个需要访问数据库的用户创建一个新的 MySQL 用户,并为其分配适当的权限。例如,创建一个名为 myuser 的新用户,并授予对 mydb 数据库的所有权限:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
如果需要允许此用户从其他主机访问,将 'localhost' 替换为相应的主机名或 IP 地址。
定期更新和打补丁:
确保定期更新系统和软件包,以修复已知的安全漏洞。可以使用以下命令更新系统:
sudo yum update
通过以上步骤,你可以提高 CentOS 上MySQL 的安全性。请根据实际需求调整配置设置。