玖叶教程网

前端编程开发入门

Mysql创建用户和权限管理(mysql8创建用户并授权)

MySQL是一个多用户的数据库,最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。如果有其他用户想使用MySQL,那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:

  • 如何创建用户和密码
  • 给当前的用户授权
  • 移除当前用户的权限

在Mysql中,一切的数据存放在表中,而用户表存放在mysql库中的user表,我们使用mysql.user 来表示mysql库中的user表,如果你想创建一个新的用户,则需要以下操作:

1.进入到mysql数据库

mysql> use mysql;
Database changed

2.对用户列表的查增改删

查询用户语法:select host,user from mysql.user;

mysql> select host,user from mysql.user;

增加用户语法: create user "<username>"@"<host>" identified by "<password>";

myqsl>  create user "pingtai"@"%" identified by "1qe3!QE#";

修改用户IP地址语法: rename user '<用户名>'@'<IP地址>' to '<新用户名>'@'<IP地址>';

修改用户密码语法有两种:1. ALTER USER '用户名'@'IP' IDENTIFIED BY '密码';

set password for '用户名'@'IP地址'=Password('新密码'); 两个意思一样

mysql>  rename user 'root'@'%' to 'root'@'19.130.%';

删除用户语法: drop user '<用户名>@'<IP地址>'

mysql> drop user 'test'@'%';

3.对用户权限的查增改删

mysql权限有很多,常见的增删查改是insert delete select update

查询用户权限语法:show grant for '<用户名>'@'<IP地址>'

mysql> show grants for 'root'@'localhost'


授权语法: grant <privileges> on <databasename>.<tablename> to '<username>'@'<host>'

#设置远程管理员权限,默认不带grant权限
grant all privileges  on *.*  to "alex"@'%';

#授权'alex'@'%'用户仅对db1.t1文件有查询、插入和更新的操作
grant select,insert,update on db1.t1 to "alex"@'%';
?
#授权'sdata'@'%'用户对szyd数据库的全部表只有读取的权限
grant select on szyd.* to 'sdata'@'%';


改权限也就是增删权限,撤销权限的语法是: revoke <privileges> on <数据库>.<表> from '<用户名>'@'IP';

# 取消来自远程服务器的alex用户对数据库db1的所有表的所有权限
revoke all on db1.* from 'alex'@"%";  
?
#取消'alex'@'%'对szyd数据库全部表的delete权限
revoke delete on szyd.* from  'alex'@'%';
?
#撤销'alex'@'%'用户对所有库所有表的全部权限
revoke all on *.* form 'alex'@'%';

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言