安装好MySQL后会有一个弹框:
意思是已经有了一个默认密码:qt7XN-DZ1a0L
如果你丢失了这个密码,就去官网搜“How to Reset the Root Password”
终端进入mysql的bin目录
cd /usr/local/mysql/bin
打开mysql
mysql -u root -p
此时你可以用刚才的默认密码:qt7XN-DZ1a0L
此时在mysql中执行操作
show databases;
会提示重置root用户密码。
那么如何来重置root密码呢?查了很多资料都无法生效,包括在安全模式下进入修改数据库、使用mysqladmin命令:“mysqladmin -u root password "your-new-password" ”等,都不行。
宝宝表示很痛苦。。
=============假装很华丽的分割线================
在千淘万漉后,终于发现一篇靠谱的博客,操作如下:
1、依然是在cd /usr/local/mysql/bin/目录下
2、sudo su
输入之后会要求输入你的计算机密码,输入的时候是什么都不显示的,输完后回车
回车后是这样的 :
3、跨过权限验证
sh-3.2# ./mysqld_safe --skip-grant-tables &
若命令执行停住了,此时已经执行完了,直接回车,然后exit退出:
sh-3.2# exit
4、此时重新进入mysql,不用-p参数,无需密码
./mysql -u root
5、选择数据库mysql(这里的mysql是指mysql里的一个数据库,mysql里还有其他数据库,可以通过show databases;查看)
use mysql;
6、 update数据库表中root用户的密码:
update user set authentication_string=‘123456’ where User='root';
注意:这里的密码字段是authentication_string,而不是网上流传的password,估计是mysql后来更新过。。。
重新进入mysql,使用刚才设置的密码,是不是就可以了呢?
因为刚才已经设置绕过权限认证了,所以直接不用密码也能登陆mysql。我的笨办法是重启电脑,重新用密码登陆mysql,看修改是否有效;
===============另一种方法==============
直接在mysql命令行里用以下语句修改:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');