ERROR 1045提示用户名或密码错误,我是忘记密码了,5.7以后修改密码的字段由password变成了authentication_string,记录一下.
1.首先编辑配置文件 sudo vim /etc/my.conf 在[mysqld]下加入 skip-grant-tables 可以免密码登录,保存退出.
2.然后重启服务:启动台>系统偏好设置>MySQL
选择Stop MySQL Server 后输入登录密码 再选择Start MySQL Server.
Automatically Start MySQL Server on Startup //是否自启动mysql服务
3.此时登录mysql就不需要密码了.
$ mysql -uroot
$ use mysql;
$ update set authentication_string=password('root') where user='root';
/*
教程一般都这样写可是实际使用的时候这样写是报错的.
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for
the right syntax to use near 'set authentication_string=password('root')
where user='root'' at line 1
该问题的原因是where后面的user需要使用``符号引起来区别关键字.
*/
$ update set authentication_string=password('root') where `user`='root';
$ flush privileges;
$ quit
4.去掉配置文件中的skip-grant-tables
然后重启服务.再尝试用帐号密码登录.
5.登录后执行一些语句会报
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
错误1820(HY000):在执行此语句之前,必须使用ALTE用户语句重置密码。
根据要求执行:alter user 'root'@'localhost' identified by 'youpassword';就可以了.