初学MySQL, 遇到了无数的坑!!! 深受折磨, 会慢慢总结更新.
希望能给其他自学者一些帮助~ 当然由于我也是初学, 可能也会有不准确的地方, 希望大家可以谅解共勉~
带有$符号的命令都是终端命令, 复制粘贴时不需要加上$符号
对于root用户的密码我第一次设置之后就忘了, 一直爆这样的错误! 实在是身心疲惫👀👀
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
以下是设置密码步骤,分两种:
[1] 记得初始密码, 修改密码的步骤:
在终端使用$mysql -uroot -p初始密码 命令进入了mysql之后, 一次执行下面语句:
STEP 1
$SET PASSWORD = PASSWORD('新密码');
STEP 2
$ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
STEP 3
$flush privileges;
注: 如果你确信你的初始密码没有输入错误, 但还是报错不允许进入的话, 打开设置中的MYSQL关闭再重启, 然后再重新输入. 应该就可以了!
注: 如果敲完 enter 没有出现Query OK, 0 rows affected (0.00 sec)说明语句写错了, 基本就是单引号不是英文状态! 这时候\q好像不能够退出终端了, 需要重新进入再重新输入. 记得改单引号!
注: flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
注: 在 "新密码" 出填写你想要设置的新密码, 不要再忘记了!
[2] 不记得初始密码, 修改root密码的步骤:
STEP 1
停止 mysql server.
以下两种方式选择其一:
a. 在 '系统偏好设置' > MySQL > 'Stop MySQL Server'
b. 在终端直接输入:
$sudo /usr/local/mysql/support-files/mysql.server stop
注: 会要求你输入你的用户密码, 注意光标不会移动, 就照常敲就可以了, 只有3次机会.
注意mysql的存放路径, 查看你自己mysql的路径是否是 /usr/local 不是的话更改到你的存放路径
STEP 2
在终端,输入:
$sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
注: 意思是进入MySQL的安全模式
STEP 3
打开另一个新终端[command+n (就可以新建一个窗口)],
逐条输入, 一共4句!!, 不要被我的注解晃住啦~:
$sudo /usr/local/mysql/bin/mysql -u root
$UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
注: 在 "新密码" 出填写你想要设置的新密码, 不要再忘记了!
注: 如果敲完 enter 没有出现Query OK, 0 rows affected (0.00 sec)说明语句写错了, 基本就是单引号不是英文状态! 这时候\q好像不能够退出终端了, 需要重新进入再重新输入. 记得改单引号!
注: 改密码的方式有好多, 我也不清楚哪个版本对应哪种, 如果上面的这种不好用, 可以试试[1] 记得初始密码 里的更改密码语句.
$FLUSH PRIVILEGES;
注:flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
$\q
注: \q 与 quit 意思一样, 退出MySQL.
STEP 4 重启[MySQL]
重启之后查看是否能够登录, 但我觉得这是进入了MySQL的安全模式, 无论哪个user都能够登录, 所以我觉得还应该退出安全模式.
旧版的mysql请使用:
$UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
补充:
启动MySQL服务
$sudo /usr/local/MySQL/support-files/mysql.server start
重启MySQL服务
$sudo /usr/local/mysql/support-files/mysql.server restart
最后: 我也做过很多次修改密码, 但发现一直不成功!
这时候最粗暴的方式就是卸载MySQL, 重装, 一定要记得复制初始密码, 再按照第一种方式重新设置就能好用.
卸载MySQL可以看我的另一篇文章:
密码更改没有问题之后, 登录不上可以看我的另一篇文章:
希望mac MySQL的那些坑这一系列文章能够帮助大家尽快入门~~