Mac安装mysql 5.7 出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)

这里写自定义目录标题

登陆MySQL时报错

使用 mysql -u root -p 输入密码后报错
Access denied for user 'root'@'localhost' (using password: YES)

报错原因

Mac安装mysql时自动创建了一个默认密码,可能由于某些原因数据库中的密码被加密了。

解决办法

  1. cd /usr/local/mysql/data/,找到data这个文件夹
  2. 直接访问是不行的,需要对该文件夹授予访问权限,这里为了方便直接授予所有权限(实际操作根据个人需要)sudo chmod -R 777 /usr/local/mysql/data
  3. 进入该文件夹内部,找到ib_logfile0 和 ib_logfile1两个文件,直接删除 rm -f ib_logfile0 rm -f ib_logfile1
  4. 在系统偏好设置中找到mysql,停止服务
  5. 进入终端输入:cd /usr/local/mysql/bin/
    回车后 登录管理员权限 sudo su
    回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &
    回车后mysql会自动重启(偏好设置中mysql的状态会变成running)
  6. 输入命令 ./mysql 回车后执行(5.6以后的版本适用)
    update MySQL.user set authentication_string=password('新的密码') where user='root' ;
    刷新权限 flush privileges;
    7.做完后,退出,然后用新设置的密码重新登陆mysql
    8.进入mysql后执行一下show databases;
  7. 可能会出现让你再次设置密码的操作,这时候执行
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';即可大功告成

猜你喜欢

转载自blog.csdn.net/Evain_Wang/article/details/112062726