在Ubuntu中进行MySQL权限管理,需通过命令行操作,核心命令及操作如下:
登录MySQL
sudo mysql -u root -p
输入密码后进入MySQL命令行界面。
创建用户
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
'%'表示允许任意主机访问,localhost仅限本地。CREATE USER 'dev'@'%' IDENTIFIED BY '123456';。授予权限
GRANT 权限类型 ON 数据库.表 TO '用户名'@'主机';
SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)、ALL PRIVILEGES(所有权限)。testdb库所有表的读写权限:GRANT SELECT, INSERT, UPDATE, DELETE ON testdb.* TO 'dev'@'%';
```。
刷新权限
FLUSH PRIVILEGES;
使权限更改立即生效。
查看权限
SHOW GRANTS FOR '用户名'@'主机';
示例:SHOW GRANTS FOR 'dev'@'%';。
撤销权限
REVOKE 权限类型 ON 数据库.表 FROM '用户名'@'主机';
示例:撤销用户对testdb库的删除权限:
REVOKE DELETE ON testdb.* FROM 'dev'@'%';
```。
删除用户
DROP USER '用户名'@'主机';
示例:DROP USER 'dev'@'%';。
注意事项:
root用户或具有足够权限的用户。/etc/mysql/mysql.conf.d/mysqld.cnf),将bind-address设为0.0.0.0,并重启服务。