mysql数据库创建用户赋权修改用户密码

Posted 天青色wy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库创建用户赋权修改用户密码相关的知识,希望对你有一定的参考价值。

创建新用户

create user lisi identified by \'123456\';

查看创建结果:

 

授权

命令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";

命令说明:

privilegesCode表示授予的权限类型,常见有:

  1. all privileges:所有权限;
  2. select:读取权限;
  3. delete:删除权限;
  4. update:更新权限;
  5. create:创建权限;
  6. drop:删除数据库、数据表权限。

dbName.tableName表示授予权限的具体库或表,常用有:

  1. “ *.* 点号表示授予用户所有数据库和表的权限;
  2. dbName.*:授予dbName数据库所有表的权限;
  3. dbName.dbTable:授予数据库dbName中dbTable表的权限。   

username@host中的host表示允许登录的IP,常见有:

  1. localhost只允许该用户在本地登录,不能远程登录;
  2. %:允许远程登录;
  3. 192.168.12.34具体的IP表示只允许该用户从特定IP登录。

新建一个数据库 dblisi:create database dblisi;

赋权李四去使用数据库dblisi:允许远程,密码为123456

grant all privileges on dblisi.* to lisi@\'%\' identified by \'123456\';

刷新权限:flush privileges;

退出用账号lisi登录:mysql -u lisi -p

输入密码123456

登陆成功后切换数据库:

 

可见只有数据库dblisi的使用权。

update mysql.user set password = password(\'12345678\') where user = \'lisi\' ;

 

注意:在mysql8的版本中授权命令发生了改变,先: create user root@‘%’  identified by \'123456\'; 再:grant all privileges on *.*  to \'root\'@\'%\';

里面的*和%就自选了。

 

 

修改用户密码

直接修改登录用户的密码:

 

 虽然0 rows affected,刷新失败,但是退出去用密码123可以登录进来;

远程也能连接:

 

 

 登录root,修改密码为123,刷新,如下:

 

 同样 0 rows affected,但是刷新成功;

远程登录却失败:

 

 

这是个奇怪的现象。看来修改root密码用set password并不行。换一个方式:

update mysql.user set authentication_string=password(\'123\') where user=\'root\';
刷新:flush privileges;

连接成功!

 

 

 注意,新版的mysql下authentication_string才是密码字段。

 

删除用户

drop user username@\'%\';

以上是关于mysql数据库创建用户赋权修改用户密码的主要内容,如果未能解决你的问题,请参考以下文章

mysql怎么创建新用户并赋权

MySQL # MySQL对用户权限的简单操作:创建新用户赋权限

mysql8创建用户

mysql8.0创建用户授予权限报错解决方法

实现远程连接MySQL

mysql里面用户赋权,grant授权和user表修改,哪个优先级高?