可能是在MySQL创建的时候自动的分配了密码
解决方法:先跳过认证,在从设置数据库的密码
-
关闭电脑上的MySQL的服务:
- 直接在设置中关闭,需要输入mac的密码;
- 打开终端,执行 sudo /usr/local/mysql/support-files/mysql.server stop
-
在MySQL的文件夹中跳过认证
- cd /usr/local/mysql/bin/
- sudo su (需要mac的密码)
- ./mysqld_safe --skip-grant-tables &
-
设置新的密码
- /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)