mac 下使用MySQL报错: 1045 (28000): Access denied for user 'root'@'localhost' (using password: N)

可能是在MySQL创建的时候自动的分配了密码
解决方法:先跳过认证,在从设置数据库的密码

  1. 关闭电脑上的MySQL的服务:

    • 直接在设置中关闭,需要输入mac的密码;
    • 打开终端,执行 sudo /usr/local/mysql/support-files/mysql.server stop
  2. 在MySQL的文件夹中跳过认证

    • cd /usr/local/mysql/bin/
    • sudo su (需要mac的密码)
    • ./mysqld_safe --skip-grant-tables &
  3. 设置新的密码

    • /usr/local/mysql/bin/mysql -u root -p
    • 要求输入密码,此时其实没有密码,可以直接回车;
    • 会出现以下的提示信息:
Your MySQL connection id is 20
Server version: 5.7.11
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 
  • 设置新的密码:
    (UPDATE mysql.user SET authentication_string=PASSWORD('afewewedew') where User='root';) (密码自己设置)
  • 回车确认后出现以下的信息
    Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1
  • 然后刷新一下,让上述修改生效:flush privileges ;
  • 刷新成功会显示以下信息:Query OK, 0 rows affected (0.01 sec)

重启mysql,用新密码登录,可以登录成功了。
但是进行其他mysql操作,会显示:
ERROR 1820 (HY000) :You must reset your password using AlTER USER statement before executing this statement
* SET PASSWORD = PASSWORD('afewewedew');
* 修改成功:Query OK, 0 rows affected, 1 warning (0.01 sec)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容