技术文摘
Linux 下如何设置 MySQL 权限
Linux 下如何设置 MySQL 权限
在 Linux 环境中,合理设置 MySQL 权限对于数据库的安全和正常运行至关重要。以下将详细介绍相关设置方法。
以 root 用户登录 MySQL。在终端输入命令:mysql -u root -p,回车后输入 root 密码即可进入 MySQL 控制台。
一、创建用户并设置权限
如果要创建新用户并分配权限,可使用以下命令。例如,创建一个名为 newuser 的用户,密码为 password,并允许其从本地主机登录:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
接下来为新用户分配权限。若要授予该用户对特定数据库(如 testdb)的所有权限,命令如下:
GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost';
ALL PRIVILEGES 表示所有权限,testdb.* 指 testdb 数据库下的所有表。若只想授予部分权限,如只允许查询,可以使用:
GRANT SELECT ON testdb.* TO 'newuser'@'localhost';
二、修改已有用户权限
若要修改现有用户权限,同样使用 GRANT 命令。比如,给 newuser 添加对 testdb 数据库的插入权限:
GRANT INSERT ON testdb.* TO 'newuser'@'localhost';
如果要撤销用户的某些权限,使用 REVOKE 命令。例如,撤销 newuser 对 testdb 数据库的删除权限:
REVOKE DELETE ON testdb.* FROM 'newuser'@'localhost';
三、刷新权限
在完成权限的创建、修改或撤销操作后,务必执行刷新权限命令,让设置立即生效:
FLUSH PRIVILEGES;
四、查看用户权限
想查看某个用户拥有的权限,可使用 SHOW GRANTS 命令。例如,查看 newuser 的权限:
SHOW GRANTS FOR 'newuser'@'localhost';
五、远程访问权限设置
若要允许用户从远程主机访问 MySQL,需先修改用户权限。比如,允许 newuser 从任意远程主机访问:
GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'%' IDENTIFIED BY 'password';
这里的 % 表示任意主机。要确保 MySQL 配置文件(通常是 /etc/mysql/mysql.conf.d/mysqld.cnf)中的 bind-address 配置项设置正确,若要允许远程连接,可将其注释掉或设置为 0.0.0.0。之后重启 MySQL 服务使设置生效。
通过以上步骤,就能在 Linux 系统下灵活、安全地设置 MySQL 用户权限,保障数据库的稳定运行与数据安全。
- Linus 终被说服:Linux 内核使用 30 年的 C 语言将升级
- 音乐研发必知:MIDI 协议与标准 MIDI 文件格式解析
- 微服务架构与设计模式
- 面试必备:synchronized 与 ReentrantLock 差异解析
- 2022 年五大值得推荐的 React Native UI 库
- 渗透测试:必备知识全知晓
- 深入剖析 SpringBoot jar 可执行机制
- Proxy 为何必须与 Reflect 配合使用
- 推荐试试这十个好用的 Python 实用库
- 你了解这些危险的 Python 漏洞吗?(小心陷入)
- 专车数据层架构进化的过往
- 多项目集成中的工程脚手架配置策略
- Node.js Web 框架面向前端及未来标准的再进化
- SingleFlight 模式下的 Go 并发编程学习
- Markdown 入门指引