修改初始密码遇到的坑
在MySQL 5.7 password字段已从mysql.user表中删除,新的字段名是“authenticalion_string”.
- mysql -u root -p 以root 账户登录mysql
- 查看初始密码 grep 'temporary password' /var/log/mysqld.log 冒号后面的所有字符都是初始化密码,如果是远程连接的操作系统建议不要复制粘贴密码,如果之前安装过mysql ,则这里会有多个密码,使用最后一个密码就ok了。
- 登录mysql后选择数据库:use mysql;
- 更新root的密码:update user set authentication_string=password('新密码') where user='root' and Host='localhost';
- 修改密码时如果新密码设置的过于简单 如密码为“12345678”,则会报错
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,这里直接执行如下命令:
mysql> set global validate_password_policy=0; //修改validate_password_policy参数的值
set global validate_password_length=1; //再修改密码的长度
再次执行第4步中修改密码的命令就好了
密码的详细设置规则,请看 https://www.cnblogs.com/ivictor/p/5142809.html - 授权其他机器登录:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; - 刷新权限 FLUSH PRIVILEGES;