昨天学数据库,安装的时候完全没看到设置密码的地方…
然后登陆不进去,一直出现ERROR 1045: Access denied for user: ‘root@localhost’报错
找了一晚上资料终于找到一个可行的解决办法,分享一个。
1.1 打开系统偏好设置,如果你的电脑已经安装mysql,会在下面有一个mysql的按钮。点进去关闭mysql服务。
1.2 打开一个终端,输入一下命令
$cd/usr/local/mysql/bin$sudosu
1
2
然后便可以看到终端命令变成这个开头: sh-3.2#
输入一下命令
sh-3.2#./mysqld_safe --skip-grant-tables &
1
之后边可以以安全模式进入数据库了。
1.3 现在打开一个新的终端
输入以下命令:
mysql-u-root
1
然后便会发现你不需要密码就进入数据库了。
现在可以看到终端命令变成以mysql开头。
修改密码这一部分在网上找了很多教程都不对,应该是因为版本不同的问题。
我装的最新的mysql,测试以后一下这个方法可行。
接着之前的步骤,在mysql命令下。输入以下命令
UPDATEmysql.userSETauthentication_string = PASSWORD('MyNewPass')WHEREUser='root'ANDHost ='localhost';FLUSH PRIVILEGES;
1
2
3
这样就成功更改密码了。
之后退出mysql,输入以下命令退出安全模式。
/usr/local/mysql/share/mysql.server start
1
然后在终端输入
$mysql-uroot-p
1
进入数据库。
这个时候我还遇到一个问题,就是显示说我的代码过期了。
错误如下:
#1862- Your passwordhasexpired.Tologinyou must change itusinga client that supports expired passwords.
1
解决这个问题只需要重新更改一下密码即可。
在终端输入以下命令,会让你输入老密码和新密码。
/usr/local/mysql/bin/mysqladmin-uroot-ppasswordEnter password:Newpassword:Confirmnewpassword:
1
2
3
4
之后再用新密码进入mysql就大功告成啦!