mysql用户设置密码
2016-11-22 09:51
127 查看
6.3.5 为用户设置密码 --------------------- mysql将密码存储在名为mysql的数据库中的user表里边; 赋予密码或者修改密码的操作只有有CREATE USER权限的用户才能执行; 或者,对于名为mysql的那个数据库有权限也可以(INSERT权限-创建新账号,UPDATE权限-修改已存在账号); 如果read_only这个系统变量开启了,使用诸如CREATE USER 或者SET PASSWORD 等修改账号的语句就需要超级权限了; mysql将密码进行hash以后存储到mysql.user这个表里边; 创建新账号并赋予密码: mysql> CREATE USER 'jeffrey'@'localhost' -> IDENTIFIED BY 'mypass'; 对于CREATE USER语句,mysql在将密码存储到mysql.user这个表里边之前会对它自动进行hash; 给已经存在的账号设置密码或者修改已经存在的账号的密码: mysql> ALTER USER 'jeffrey'@'localhost' -> IDENTIFIED BY 'mypass'; 如果我们不是以匿名用户登录,我们修改自己的密码的时候,可以不用指定自己的用户名: mysql> ALTER USER USER() -> IDENTIFIED BY 'mypass'; 对于ALTER USER语法,mysql在将密码存储到mysql.user这个表里边之前会对它自动进行hash; 结合PASSWORD()函数使用SET PASSWORD: mysql> SET PASSWORD FOR -> 'jeffrey'@'localhost' = PASSWORD('mypass'); 如果我们不是以匿名用户登录,我们修改自己的密码的时候,可以忽略掉FOR 语句: mysql> SET PASSWORD = PASSWORD('mypass'); 系统变量old_passwords的值决定了具体的hash方法,PASSWORD()函数根据这个hash方法对密码进行hash; 如果SET PASSWORD以格式不对为由拒绝了PASSWORD()返回的经过hash密码值,那么可能要改old_passwords的值来更改hash算法; (对于mysql 5.7.6来说,不建议使用本方法,建议使用ALTER USER语法) 使用SET PASSWORD而不结合PASSWORD()函数: 对于mysql5.7.6来说,SET PASSWORD将密码字符串解释为明文,然后经过合适的hash放到mysql.user这个表里边; mysql> SET PASSWORD FOR -> 'jeffrey'@'localhost' = 'mypass'; 在mysql5.7.6之前,SET PASSWORD将密码字符串直接解释为hash密码值存放到mysql.user这个表里边(奇怪); mysql> SET PASSWORD FOR -> 'jeffrey'@'localhost' = '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4'; The string must be hashed in the format required by the account authentication plugin. A string not hashed appropriately causes client connections for the account to fail with an Access denied error. (ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number) 使用GRANT USAGE 语句在不影响账户当前权限的情况下修改账户的密码: mysql> GRANT USAGE ON *.* TO 'jeffrey'@'localhost' -> IDENTIFIED BY 'mypass'; 对于GRANT USAGE来说,mysql在将密码存储到mysql.user这个表里边之前会对它自动进行hash; (对于mysql5.7.6来说,不建议使用本方法,建议使用ALTER USER语法) 可以使用命令行修改账户密码: shell> mysqladmin -u user_name -h host_name password "new_password" 对于使用mysqladmin 来说,mysql在将密码存储到mysql.user这个表里边之前会对它自动进行hash;
相关文章推荐
- Mysql用户密码设置修改和权限分配
- Mysql用户设置密码和权限
- Mysql用户密码设置修改和权限分配
- 给mysql默认root用户设置密码
- mysql关于用户密码的设置( 修改、重置、找回)
- mysql用户权限设置与密码更改
- mysql: 安装结束后设置root用户的密码
- 给mysql默认root用户设置密码
- MySQL中修改密码、编码设置、创建新用户、删除新用户以及备份等指令
- 给mysql默认root用户设置密码
- 给mysql默认root用户设置密码
- 设置mysql的root用户密码
- Linux下Mysql增加用户,设置用户权限及修改密码的方法
- MySQL用户账号管理(添加、删除、限制、设置密码、远程访问)
- 免安装版mysql密码设置及用户管理
- Mysql用户密码设置修改和权限分配
- mysql设置root密码和创建用户操作
- mysql中为用户设置密码的多种方法
- 给mysql默认root用户设置密码
- 给mysql默认root用户设置密码