`

mac下安装Mysql5.7遇到默认密码的大坑

阅读更多

哈哈,当时我装5.7也遇到过这样的情况

 

安装的过程很简单,就直接到官方下mysql dmg,一路下一步就可以装完..  

Mac Mysql dmg下载地址,http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10-osx10.10-x86_64.dmg

但是带来的问题是,默认密码不为空… mysql -uroot -p 登陆不进去… 直接使用mysqladmin改密码也提示错误.

 

一般在centos下安装Mysql 5.7版本后,密码应该是放在 ~/.mysql_secret文件里,但是Mac呢 ?各翻遍了所有目录都没找到… 一顿狂Google之后,发现不少老外也在纠结这个问题…   这算不算个坑…

 

 

 

 

 

那么密码跑哪里去了?  不纠结了,直接把密码干掉,重新配置个自己知道的. 

 

通过 –skip-grant-tables的方式启动mysqld_safe ,这个模式可以绕过mysql授权.

sudo /usr/local/mysql/bin/mysqld_safe –skip-grant-tables

mysql5.7颠覆的事情太多了,已经mysql.user会有个password字段,现在替换成authentication_string了. 

| authentication_string  | text                              | YES  |     | NULL                  |       |
| password_expired       | enum(‘N’,'Y’)                     | NO   |     | N                     |       |
| password_last_changed  | timestamp                         | YES  |     | NULL                  |       |
| password_lifetime      | smallint(5) unsigned              | YES  |     | NULL                  |       |
| account_locked         | enum(‘N’,'Y’)                     | NO   |     | N                     |       |
+————————+———————————–+——+—–+———————–+——-+

mysql> update mysql.user set authentication_string=PASSWORD(’123123′) where user=’root’;
Query OK, 1 row affected, 1 warning (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

mysql>

这时候Myqsl密码已经修改完了,我们把上面的mysqld进程干掉,通过正常途径起Mysqld服务

mysql -uroot -p

mysql>
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
mysql> set password for root@localhost=password(’123123′);
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+——————–+
4 rows in set (0.01 sec)

mysql>

 

当你通过skip授权修改的密码,需要再次修改下密码. 也不知道为什么有这个要求,闲的.

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 

这样Mysql的密码改完了, 另外我已经给Mysql发了一个邮件说明了这个问题,不知道他们是否会给与回复.    

 

转自:http://xiaorui.cc/2016/01/20/mac%E4%B8%8B%E5%AE%89%E8%A3%85mysql5-7%E9%81%87%E5%88%B0%E9%BB%98%E8%AE%A4%E5%AF%86%E7%A0%81%E7%9A%84%E5%A4%A7%E5%9D%91/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics