在Ubuntu上管理MySQL权限主要涉及到以下几个方面:
创建新用户:使用 CREATE USER 语句创建新用户,并指定用户的登录名和密码。例如:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
如果要允许从任何主机连接,可以使用 % 作为通配符。
删除用户:使用 DROP USER 语句删除用户。例如:
DROP USER 'newuser'@'localhost';
修改用户密码:使用 ALTER USER 语句修改用户密码。例如:
ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'newpassword';
查看用户列表:使用 SELECT 语句查看当前所有的数据库用户和他们的权限。例如:
SELECT User, Host FROM mysql.user;
授予权限:使用 GRANT 语句为用户分配权限。例如,授予用户对特定数据库的所有权限:
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
可以授予用户对某个特定表的权限:
GRANT SELECT, INSERT ON database_name.table_name TO 'newuser'@'localhost';
查看用户权限:使用 SHOW GRANTS 语句查看用户的权限。例如:
SHOW GRANTS FOR 'newuser'@'localhost';
撤销权限:使用 REVOKE 语句撤销用户的权限。例如,撤销用户的所有权限:
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';
刷新权限:在更改权限后,使用 FLUSH PRIVILEGES 命令刷新权限表以应用更改。
创建数据库:使用 CREATE DATABASE 语句创建新数据库。例如:
CREATE DATABASE database_name;
删除数据库:使用 DROP DATABASE 语句删除数据库。例如:
DROP DATABASE database_name;
创建表:使用 CREATE TABLE 语句创建新表。例如:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
删除表:使用 DROP TABLE 语句删除表。例如:
DROP TABLE table_name;
请注意,在执行这些操作时,您需要具有足够的权限(通常是root权限)。在生产环境中,不要给予用户过多的权限,遵循最小权限原则。定期审查和更新用户权限,以确保安全性。