MySQL:42---用户管理(查看、添加、删除、修改)
user表
- 该表存在于mysql数据库中
- 该表存储着用户账号和信息
一、查看用户
- 用户存在于mysql数据库的user表中
- 下面查看主机名、用户名和密码
二、添加用户
方式一:
使用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';
方式二:
- 使用insert语句新建普通用户
- 方法:向mysql的user表中插入字段就可以直接添加新用户
- 注意事项:user表中有很多字段,所以插入时要保证没有默认值的字段要给出值
演示案例
- 插入xiaohong用户,主机名为locallhost
insert into mysql.user(host,user,ssl_cipher,x509_issuer,x509_subject) values('localhost','xiaohong','','','');
三、修改用户账号
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';
四、修改用户口令(密码)
方式一:
- 通过mysqladmin命令修改(没进入数据库前用命令修改)
mysqladmin -u username -p password
演示案例:
- 修改root的密码
- 先输入旧密码,再输入两次新密码
方式二:
- 通过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];
方式二:
- 使用delete语句删除普通用户
- 注意:删除后,需要用flush命令重新装载权限
delete from mysql.user where [user='user_name'] [ and host='host'];
演示案例:
- 删除wangwu用户
delete from mysql.user where user='wangwu'