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

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

在MySQL中,可以通过GRANT语句设置账户权限,指定用户和密码,并赋予相应的操作权限。 GRANT SELECT, INSERT ON database_name.* TO 'username'@'host' IDENTIFIED BY 'password';

MySQL数据库账户权限设置包括账户、密码和权限的管理,以下是详细解释:

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

一、创建用户

1、命令CREATE USER 'username'@'host' IDENTIFIED BY 'password';

2、说明

username:要创建的用户名。

host:指定该用户在哪个主机上可以登录,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登录,可以使用通配符%。

password:用户的登录密码,密码可以为空。

3、例子

CREATE USER 'ssh'@'localhost' IDENTIFIED BY 'ssh'; // 本地登录

CREATE USER 'ssh'@'%' IDENTIFIED BY 'ssh'; // 远程登录

二、授权用户

1、命令GRANT privileges ON databasename.tablename TO 'username'@'host';

2、说明

privileges:用户的操作权限,如SELECT, INSERT, UPDATE等,如果要授予所有权限则使用ALL。

databasename:数据库名。

tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*。

3、例子

GRANT ALL PRIVILEGES ON *.* TO 'ssh'@'localhost'; // 授予本地用户所有权限

GRANT ALL PRIVILEGES ON *.* TO 'ssh'@'%'; // 授予远程用户所有权限

三、更改用户密码

1、方法1:用SET PASSWORD命令

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

例子:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');

2、方法2:用mysqladmin

mysqladmin -u root password "newpass"

如果root已经设置过密码,采用如下方法:

mysqladmin -u root password oldpass "newpass"

3、方法3:用UPDATE直接编辑user表

UPDATE user SET Password = PASSWORD('123') WHERE user = 'root';

FLUSH PRIVILEGES;

四、删除用户

1、命令DROP USER 'username'@'host';

2、例子

DROP USER 'test'@'localhost';

五、查看用户权限

1、命令SHOW GRANTS FOR 'username'@'host';

2、例子

SHOW GRANTS FOR 'ssh'@'localhost';

六、撤销用户权限

1、命令REVOKE privilege ON databasename.tablename FROM 'username'@'host';

2、例子

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

七、MySQL权限简介

1、全局权限:作用于整个MySQL实例级别。

2、数据库级权限:作用于某个指定的数据库上或者所有的数据库上。

3、数据库对象级权限:作用于指定的数据库对象上(表、视图等)或者所有的数据库对象上。

八、MySQL权限表

1、user表:列出可以连接服务器的用户及其口令,并指定他们有哪种全局权限。

2、db表:列出数据库,而用户有权限访问它们。

3、tables_priv表:指定表级权限。

4、columns_priv表:指定列级权限。

5、procs_priv表:指定存储过程权限。

6、proxies_priv表:模拟角色(Role),用于批量管理用户。

MySQL通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库中,用户操作MySQL数据库的权限管理主要分为两个阶段:一是是否有权限连接上来,二是是否有权限执行本操作。

到此,以上就是小编对于“mysql数据库账户权限设置_账户、密码、权限”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

0