GRANT SELECT, INSERT ON database_name.* TO 'username'@'host' IDENTIFIED BY 'password';
MySQL数据库账户权限设置包括账户、密码和权限的管理,以下是详细解释:
一、创建用户
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数据库账户权限设置_账户、密码、权限”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1308148.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复