MySQL:42---用户管理(查看、添加、删除、修改)

user表

  • 该表存在于mysql数据库中
  • 该表存储着用户账号和信息

一、查看用户

  • 用户存在于mysql数据库的user表中
  • 下面查看主机名、用户名和密码

MySQL:42---用户管理(查看、添加、删除、修改)

二、添加用户

方式一:

使用create use创建用户账号

CREATE USER 'username'@'host' IDENTIFIED BY 'PASSWORD' [,'username'@'host' IDENTIFIED BY 'PASSWORD']...;

或者使用不用引号的格式
CREATE USER [email protected] IDENTIFIED BY 'PASSWORD' ;
  • 'username'@'host':用户名和主机的名称
  • IDENTIFIED BY:指定用户账号对应的口令,若该用户账号无口令,则可省略

演示案例

  • 添加用户名zhangmei,主机名为localhost,口令设置为明文“123”
create user 'zhangmei'@'localhost' identified by '123';

MySQL:42---用户管理(查看、添加、删除、修改)

方式二:

  • 使用insert语句新建普通用户
  • 方法:向mysql的user表中插入字段就可以直接添加新用户
  • 注意事项:user表中有很多字段,所以插入时要保证没有默认值的字段要给出值

演示案例

  • 插入xiaohong用户,主机名为locallhost
insert into mysql.user(host,user,ssl_cipher,x509_issuer,x509_subject) 
values('localhost','xiaohong','','','');

MySQL:42---用户管理(查看、添加、删除、修改)

三、修改用户账号

rename user old_user to new_user [,old_user to new_user]...
  • old_user:系统中已存在的用户账号
  • new_user:新的MySQL用户账号

注意:

  • 如果系统中旧账号不存在或者新账户已存在,则语句执行会出现错误
  • 想要使用rename,必须拥有MySQL数据库的update权限或者create user权限

演示案例

  • 将zhangmei的名字修改为wangwu
rename user 'zhangmei'@'localhost' to 'wangwu'@'localhost';

MySQL:42---用户管理(查看、添加、删除、修改)

四、修改用户口令(密码)

方式一:

  • 通过mysqladmin命令修改(没进入数据库前用命令修改)
mysqladmin -u username -p password

演示案例:

  • 修改root的密码
  • 先输入旧密码,再输入两次新密码

MySQL:42---用户管理(查看、添加、删除、修改)

 方式二:

  • 通过set语句来修改(如果不加[for 'username'@'hostname'],则默认修改当前用户的密码)
set password [for 'username'@'hostname']=password('new_password');

演示案例:

  • 修改xiaohong的密码为123
set password for 'xiaohong'@'localhost' = password('123');

方式三:

  • 修改MySQL数据库下的user表。需要对mysql.user表有修改权限
update mysql.user set authentication_string=password('new_password')  where user='user_name' and host='host_name';

五、删除用户

方式一:

  • 使用drop  user语句删除
drop user user[,user]...;

演示案例:

  • 删除xiaohong用户,其host值为localhost
drop user [email protected];

MySQL:42---用户管理(查看、添加、删除、修改)

方式二:

  • 使用delete语句删除普通用户
  • 注意:删除后,需要用flush命令重新装载权限
delete from mysql.user where [user='user_name'] [ and host='host'];

演示案例:

  • 删除wangwu用户
delete from mysql.user where user='wangwu'

MySQL:42---用户管理(查看、添加、删除、修改)