3、MySQL 高级
3、MySQL 高级-用户与权限管理
3.1、用户管理
3.1.1、创建用户
# 表示创建名称为 zhang3 的用户,密码设为 123123;
create user 'username' identified by 'password';
3.1.2、删除用户
# 不推荐使用 delete from user where user='username'; 的方式删除用户,会有残留信息
drop user 'username';
3.1.3、设置/修改用户密码
# 修改当前用户密码;
set password = password('password');
注:在 mysql8 版本有了新的安全要求,取消了 password 函数;
mysql8 设置当前用户密码
alter user 'username'@'host' identified by 'password';
3.2、权限管理
3.2.1、授权命令
# 给用户授权,如果没有该用户,就新建一个用户;
grant [权限列表] on dbname.tablename to 'username'@'host' identified by 'password';
# 例如:
grant select,insert,delete,update on dbname.* to 'ayi'@'%' identified by '123456';
grant all privileges on dbname.* to 'ayi'@'%' identified by '123456';
注:在 mysql8 版本有了新的安全要求,不支持授权的同时,设置用户密码,也不支持无用户就新增用户;用户管理和权限管理命令分离;
# 新增用户
create user 'ayi'@'%' identified by '123456';
# 给用户授权
grant all privileges on dbname.* to 'ayi'@'%' with grant option;
# with grant option:赋予用户授权权限;
3.2.2、撤销权限
revoke 权限1,权限2,…权限n on 数据库名称.表名称 from 用户名@用户地址 ;
# 例如:
revoke all privileges on dbname.tablename from 'ayi'@'%';
注:mysql8 中,授权权限与其他表权限是分离的;授权权限需要单独授权与撤销;
revoke grant option on dbname.tablename from 'username'@'host';
3.2.3、刷新权限
# 所有通过user表的修改,必须用该命令才能生效。
flush privileges;
3.2.4、查看权限
# 查看当前用户权限
show grants;
# 查看某用户的全局权限
select * from mysql.user
3、MySQL 高级
3、MySQL 高级-用户与权限管理
3.1、用户管理
3.1.1、创建用户
# 表示创建名称为 zhang3 的用户,密码设为 123123;
create user 'username' identified by 'password';
3.1.2、删除用户
# 不推荐使用 delete from user where user='username'; 的方式删除用户,会有残留信息
drop user 'username';
3.1.3、设置/修改用户密码
# 修改当前用户密码;
set password = password('password');
注:在 mysql8 版本有了新的安全要求,取消了 password 函数;
mysql8 设置当前用户密码
alter user 'username'@'host' identified by 'password';
3.2、权限管理
3.2.1、授权命令
# 给用户授权,如果没有该用户,就新建一个用户;
grant [权限列表] on dbname.tablename to 'username'@'host' identified by 'password';
# 例如:
grant select,insert,delete,update on dbname.* to 'ayi'@'%' identified by '123456';
grant all privileges on dbname.* to 'ayi'@'%' identified by '123456';
注:在 mysql8 版本有了新的安全要求,不支持授权的同时,设置用户密码,也不支持无用户就新增用户;用户管理和权限管理命令分离;
# 新增用户
create user 'ayi'@'%' identified by '123456';
# 给用户授权
grant all privileges on dbname.* to 'ayi'@'%' with grant option;
# with grant option:赋予用户授权权限;
3.2.2、撤销权限
revoke 权限1,权限2,…权限n on 数据库名称.表名称 from 用户名@用户地址 ;
# 例如:
revoke all privileges on dbname.tablename from 'ayi'@'%';
注:mysql8 中,授权权限与其他表权限是分离的;授权权限需要单独授权与撤销;
revoke grant option on dbname.tablename from 'username'@'host';
3.2.3、刷新权限
# 所有通过user表的修改,必须用该命令才能生效。
flush privileges;
3.2.4、查看权限
# 查看当前用户权限
show grants;
# 查看某用户的全局权限
select * from mysql.user