第一次在mac上安装mysql,首先从官网上下了最新版的mysql,下载的是dmg的,下载完成后直接根据提示下一步下一步就完成安装了。在最后安装成功后有个弹框:大致意思是帮我设置了一个临时的密码zYRlG3Dw6h=d(随机生成的),如果要修改可以去mysql手册查询重置方法。
之后我设置了环境变量:
在命令行输入 vim ~/.bash_profile ,在打开的.bash_profile里面输入了
alias mysql=’/usr/local/mysql/bin/mysql’
alias mysqladmin=’/usr/local/mysql/bin/mysqladmin’
alias ls=’ls -G’
保存退出。完成设置后我准备登录mysql了。
我本以为记住这密码就可以登录了,之后再在里面修改即可。
于是打开命令行输入mysql -u root -p ,再根据提示输入上面密码,然后就是各种错误提示:
(1)Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)。
(2)ERROR 1045 (28000): Access denied for user ‘fs’@’localhost’ (using password: NO)。
之后我又通过图形化窗口连接数据库,输入密码后提示我:密码已过期。
于是乎在网上找各种解决方法,各种尝试,按网上的步骤重置密码,都没有成功,最后结合网上的步骤和mysql帮助手册才成功重置密码,在此记录一下。
解决步骤:
(1)首先关闭mysql服务。 在苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(这一步尤为重要,我前几次尝试就是没先执行这一步 才一直无法按后面步骤重启mysql)。
(2)在命令行输入 cd /usr/local/mysql/bin/定位到bin目录下,再输入sudo su切换到超级管理员的身份。再输入
./mysqld_safe –skip-grant-tables & 命令禁止mysql密码验证的功能。
(3)新开启一个命令窗口,在命令行输入mysql后,可以直接进入mysql了。这是需要重置密码。
<1>先尝试输入:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123’,如果提示Query OK则表明密码成功修改为123。如果提示这个错误You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords。则尝试输入:UPDATE mysql.user SET authentication_string = PASSWORD(‘123’) WHERE User = ‘root’ AND Host = ‘localhost’;(后面一般都会成功)。
<2>再输入FLUSH PRIVILEGES;之后输入exit退出mysql后,就可以用 你设置的密码登录了。
下面是我重置密码时走的弯路:我按照官网使用手册中的Resetting the Root Password: Unix and Unix-Like Systems这个目录下的步骤一步一步的来,在输入ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123’;后始终报这个错
ERROR 1131 (42000): You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords。我网上查了都没有一个很好地解释。最后我看到后面有这么一句:If the ALTER USER statement fails to reset the password, try repeating the procedure using the following statements to modify the user table directly:我抱着试试的态度将其对应的语句(就是上面update语句和flush命令)输入后提示我Query OK,此时我仿佛看到了希望,之后立刻退出mysql,用root和123登录,果然成功进入mysql。
————————————————
版权声明:本文为CSDN博主「feisongfeiqin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/feisongfeiqin/article/details/50210453