在CentOS上設置MySQL的安全性的方法如下:
yum install -y wget
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-server --nogpgcheck
systemctl start mysqld.service
systemctl status mysqld.service
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p 臨時密碼 alter user 'root'@'localhost' identified by '新密碼';
firewall-cmd --list-port
firewall-cmd --list-services
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
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
這個腳本會引導你完成以下操作:
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 地址。
確保定期更新系統和軟件包,以修復已知的安全漏洞??梢允褂靡韵旅罡孪到y:
sudo yum update
通過以上步驟,你可以提高 CentOS 上MySQL 的安全性。請根據實際需求調整配置設置。