用户管理操作
一、介绍mysql自带的数据库
当我们安装好mysql之后,默认会有个一个root用户,这就是超级管理用户。有关mysql用户相关的信息全在我们的mysql这张数据库中。information_schema,存储表、锁等性能信息。performance_schema,互斥锁等信息(5.6之前需要手动开启,从5.6开始默认开启)。test,则作为一个空的测试数据库。对于mysql自带的数据信息,对不熟悉的开发人员建议最好不要轻易操作。
二、用户管理
1.创建用户
// 用户信息存在mysql库的user表中,这里我们单纯的创建一个用户,关于他的权限,同样的使用我们常用的sql语句操作即可。user表的信息就是用户权限功能.
INSERT INTO `user` (`host`, `user`, `password`, `ssl_cipher`, x509_issuer, x509_subject) VALUES ('%', 'username', PASSWORD('xxxx'), 'Y', 'Y', 'Y');
2.修改用户
// sql语句操作
UPDATE `user` SET `Password` = PASSWORD('') WHERE `User` = 'qq';
// 命令行操作
mysqladmin -u用户名 -p[旧密码] password新密码
3.查询用户
SELECT * FROM `user` WHERE `user` = 'qq';
4.删除用户
DELETE FROM `user` WHERE `user` = 'qq';
三、mysql加密方式介绍
MySQL数据库的认证密码有两种方式,
MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之后的版本都是MySQLSHA1加密,
MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
select old_password('111111');
(2)以MySQLSHA1方式加密
select password('111111');
如下图:
MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说MySQLSHA1加密的密码的实际位数是40位。
更多建议: