CentOS MySQL权限设置怎么操作
导读:CentOS系统下MySQL权限设置操作指南 1. 登录MySQL服务器 使用root用户登录MySQL命令行(需输入root密码): mysql -u root -p 2. 创建新用户 通过CREATE USER语句创建用户,格式为'用...
CentOS系统下MySQL权限设置操作指南
1. 登录MySQL服务器
使用root用户登录MySQL命令行(需输入root密码):
mysql -u root -p
2. 创建新用户
通过CREATE USER
语句创建用户,格式为'用户名'@'主机'
(localhost
仅本地连接,%
允许远程连接):
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'your_password';
-- 允许远程连接的示例
CREATE USER 'newuser'@'%' IDENTIFIED BY 'your_password';
3. 授予权限
使用GRANT
语句为用户分配权限,常见场景如下:
- 授予所有数据库的所有权限(谨慎使用):
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
- 授予特定数据库的所有权限:
GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';
- 授予特定表的特定权限(如SELECT、INSERT、UPDATE):
GRANT SELECT, INSERT, UPDATE ON mydatabase.mytable TO 'newuser'@'localhost';
- WITH GRANT OPTION:允许用户将自己拥有的权限授予其他用户(仅root或管理员用户需要)。
4. 刷新权限
执行FLUSH PRIVILEGES
使权限变更立即生效:
FLUSH PRIVILEGES;
5. 查看用户权限
使用SHOW GRANTS
语句查看用户的权限详情:
SHOW GRANTS FOR 'newuser'@'localhost';
-- 查看当前登录用户的权限
SHOW GRANTS;
6. 撤销权限
使用REVOKE
语句撤销用户的特定权限(格式与GRANT
相反):
REVOKE SELECT ON mydatabase.* FROM 'newuser'@'localhost';
-- 撤销所有权限
REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'newuser'@'localhost';
7. 删除用户
使用DROP USER
语句删除用户(会同时删除其所有权限):
DROP USER 'newuser'@'localhost';
8. 可选:配置远程访问与安全
- 开放防火墙端口(若需远程连接):
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp sudo firewall-cmd --reload
- 配置SELinux(若系统启用SELinux):
sudo setsebool -P mysql_connect_any 1
- 修改root密码(初始安装后建议修改):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_root_password';
注意事项
- 权限设置需遵循最小权限原则,仅授予用户完成任务所需的最小权限(如应用用户仅需
SELECT
、INSERT
权限,无需DROP
权限)。 - 远程连接时,建议限制
host
为具体IP地址(如192.168.1.100
),而非%
,以提高安全性。 - 定期通过
SHOW GRANTS
检查用户权限,避免权限泄露。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS MySQL权限设置怎么操作
本文地址: https://pptw.com/jishu/731878.html