MySQL用户和数据库管理
用户管理
1、用户信息:
在MySQL中,用户的信息存储在系统数据库mysql的user表中,可以通过以下命令查看用户信息:
“`sql
use mysql;
select host, user, authentication_string from user;
“`
host
字段表示用户可以从哪个主机登录,localhost
表示只能从本机登录。
user
字段是用户名。
authentication_string
字段是用户密码通过password函数加密后的结果。
2、创建用户:
使用以下语法创建新用户:
“`sql
create user ‘用户名’@’登录主机/ip’ identified by ‘密码’;
“`
创建一个名为clover的用户,密码为clover123,只能从本地登录:
“`sql
create user ‘clover’@’localhost’ identified by ‘clover123’;
“`
3、删除用户:
使用以下语法删除用户:
“`sql
drop user ‘用户名’@’登录主机/ip’;
“`
删除一个名为kangshifu的用户:
“`sql
drop user ‘kangshifu’@’localhost’;
“`
4、修改用户密码:
使用以下语法修改用户密码:
“`sql
alter user ‘用户名’@’登录主机/ip’ identified by ‘新密码’;
“`
将clover用户的密码改为newclover123:
“`sql
alter user ‘clover’@’localhost’ identified by ‘newclover123’;
“`
权限管理
1、权限类型:
MySQL中的权限分为全局权限和数据库级权限,全局权限适用于所有数据库,而数据库级权限只对特定数据库有效。
常见的全局权限包括SELECT、INSERT、UPDATE、DELETE等,这些权限决定了用户可以执行哪些操作。
2、授予权限:
使用以下语法为用户授予权限:
“`sql
grant 权限列表 on 数据库名.表名 to ‘用户名’@’登录主机/ip’;
“`
授予用户zhang3在atguigudb数据库的所有表上的SELECT、INSERT、DELETE、UPDATE权限:
“`sql
grant select, insert, delete, update on atguigudb.* to ‘zhang3’@’%’;
“`
3、回收权限:
使用以下语法回收用户的权限:
“`sql
revoke 权限列表 on 数据库名.表名 from ‘用户名’@’登录主机/ip’;
“`
回收用户zhang3在atguigudb数据库上的所有权限:
“`sql
revoke all privileges on atguigudb.* from ‘zhang3’@’%’;
“`
常见问题解答(FAQ)
1、如何查看当前用户的所有权限?
使用以下命令可以查看当前用户的所有权限:
“`sql
show grants for current_user();
“`
这将列出当前用户在所有数据库上的权限。
2、如何在MySQL中创建一个只能访问特定数据库的用户?
创建一个新的MySQL用户并为其设置密码:
“`sql
create user ‘newuser’@’localhost’ identified by ‘newpassword’;
“`
为该用户授予特定数据库的权限:
“`sql
grant select, insert, update, delete on specificdb.* to ‘newuser’@’localhost’;
“`
这样,newuser用户就只能访问specificdb数据库,并且可以进行SELECT、INSERT、UPDATE和DELETE操作。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1079369.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复