当前位置:首页 > 行业动态 > 正文

如何在MySQL数据库中设置账户、密码及权限?

在MySQL中,账户权限设置包括创建用户账户、分配密码以及定义用户对数据库的操作权限。

1、账户管理

如何在MySQL数据库中设置账户、密码及权限?  第1张

创建用户账户

SQL命令方式

       CREATE USER 'username'@'host' IDENTIFIED BY 'password';

示例

       CREATE USER 'ssh'@'localhost' IDENTIFIED BY 'ssh';

删除用户账户

SQL命令方式

       DROP USER 'username'@'host';

示例

       DROP USER 'testuser'@'localhost';

2、密码管理

修改用户密码

使用SET PASSWORD命令

       SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

示例

       SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');

使用UPDATE语句直接修改mysql数据库中的用户表

       UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'username' AND Host = 'host';
       FLUSH PRIVILEGES;

示例

       UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root' AND Host = 'localhost';
       FLUSH PRIVILEGES;

3、权限管理

授予权限

GRANT命令

       GRANT privileges ON databasename.tablename TO 'username'@'host';

示例

       GRANT ALL PRIVILEGES ON *.* TO 'ssh'@'localhost';

授予用户在所有数据库上的所有权限

       GRANT ALL PRIVILEGES ON *.* TO 'ssh'@'%';

允许授权

       GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

撤销权限

REVOKE命令

       REVOKE privilege ON databasename.tablename FROM 'username'@'host';

示例

       REVOKE SELECT ON *.* FROM 'ssh'@'%';

查看权限

SHOW GRANTS命令

       SHOW GRANTS FOR 'username'@'host';

示例

       SHOW GRANTS FOR 'ssh'@'localhost';

刷新权限

FLUSH PRIVILEGES命令

       FLUSH PRIVILEGES;

示例

       FLUSH PRIVILEGES;

权限简介

权限 权限级别 权限说明
CREATE 数据库、表或索引 创建数据库、表或索引权限
DROP 数据库或表 删除数据库或表权限
GRANT OPTION 数据库、表或保存的程序 赋予权限选项
REFERENCES 数据库或表 外键约束引用权限
ALTER 更改表,比如添加字段、索引等
DELETE 删除数据权限
INDEX 索引权限
INSERT 插入权限
SELECT 查询权限
UPDATE 更新权限
CREATE VIEW 视图 创建视图权限
SHOW VIEW 视图 查看视图权限
ALTER ROUTINE 存储过程 更改存储过程权限
CREATE ROUTINE 存储过程 创建存储过程权限
EXECUTE 存储过程 执行存储过程权限
FILE 服务器主机上的文件访问 文件访问权限
CREATE TEMPORARY TABLES 服务器管理 创建临时表权限
LOCK TABLES 服务器管理 锁表权限
CREATE USER 服务器管理 创建用户权限
RELOAD 服务器管理 执行flushhosts, flushlogs, flushprivileges, flushstatus, flushtables, flushthreads, refresh, reload等命令的权限
PROCESS 服务器管理 查看进程权限
REPLICATION CLIENT 服务器管理 复制权限
REPLICATION SLAVE 服务器管理 复制权限
SHOW DATABASES 服务器管理 查看数据库权限
SHUTDOWN 服务器管理 关闭数据库权限
SUPER 服务器管理 执行kill线程权限
0