开始下载的mysql默认是不需要密码的,在通过select * from mysql.user;
命令找密码的时候也是一脸懵
mysql修改密码真的搞了好久,老师文档给出的方法,注意要加";",否则
mysql> update mysql.user set password=PASSWORD('123456') where user='root'
->
会提示你需要加";"作为语句的结束符
update mysql.user set password=PASSWORD('123456') where user='root';
会报错
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('123456') where User = 'root'' at line 1
这是告诉用户有语法错误,让用户检查与MySQL服务器版本对应的手册,以便在第一行的’(‘123456’) where User = ‘root’’ 附近修改错误
然后我查了很多的资料,发现大多数的方法都是上述的写法来修改mysql的密码,我不停的变换大小写,空格,然后终于认识到问题不在这里,我甚至一度认为不该用brew安装mysql,说不定下载官网的安装包就不会有这样的问题了。
偶尔看到一篇博客上mysql的版本是mysql版本:5.7.17
我就查看了一下自己的mysql版本:
mysql Ver 8.0.15 for osx10.14 on x86_64 (Homebrew)
然后我终于找到了修改密码的方法:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '输入你的新密码';
新密码需要包含大写小写以及特殊字符比如’ABcd@abCD’
然后就会有如下的提示
Query OK, 0 rows affected (0.02 sec)
修改成功
之后要进入mysql需要输入mysql -u root -p
然后再输密码
如果还是输入之前的命令mysql -u root
会有报错
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)