http://blog.csdn.net/qq_26941173/article/details/51548947
1.修改配置文件my.cfg
[root@localhost ~]# vi /etc/my.cnf 找到mysqld在之后添加 skip-grant-tables 保存退出
2. 重启mysql服务 service mysqld restart
直接登陆mysql而不需要密码 mysql -u root (直接点击回车)
4 在mysql中输入update mysql.user set password=password('root') where user='root'; (此时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list')
5.(这是怎么回事?)原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string update mysql.user set authentication_string=password('123456') where user='root' ;
执行flush privileges
退出mysql ,到my.cgf中把开始添加的skip-grant-tables去掉
重启mysql服务大功告成!但是事实并非如此!
当你登陆mysql之后你会发现,当你执行命令时会出现 ERROR 1820 (HY000): You must reset your password using ALTER USER statement;
当你执行了SET PASSWORD = PASSWORD('123456'); 出现:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 10. 你需要执行两个参数来把mysql默认的密码强度的取消了才行 set global validate_password_policy=0; set global validate_password_mixed_case_count=2; 11 这是你在执行 SET PASSWORD = PASSWORD('123456');