mac下安装Mysql5.7.13遇到默认密码的大坑
2016-06-25 00:33
573 查看
安装的过程很简单,就直接到官方下mysql dmg,一路下一步就可以装完..
但是带来的问题是,默认密码不为空… mysql -uroot -p 登陆不进去… 直接使用mysqladmin改密码也提示错误.
一般在centos下安装Mysql 5.7版本后,密码应该是放在 ~/.mysql_secret文件里,但是Mac呢 ?各翻遍了所有目录都没找到… 一顿狂Google之后,发现不少老外也在纠结这个问题… 这算不算个坑…
那么密码跑哪里去了? 不纠结了,直接把默认密码干掉,再重新配置一个新密码.
首先我们通过 –skip-grant-tables的方式启动mysqld_safe进程 ,这个模式是可以绕过mysql授权.
mysql5.7颠覆的事情太多了,已经mysql.user会有个password字段,现在替换成authentication_string了.
然后正式改密码,注意姿势 !
这时候Myqsl密码已经修改完了,我们把上面的mysqld进程干掉,通过正常途径起Mysqld服务
mysql -uroot -p
当你通过skip授权修改的密码,需要再次修改下密码. 也不知道为什么有这个要求.
提示密码过期,那就再次修改
问题解决,这样Mysql的密码就改完了.
嵌入式企鹅圈原创团队由阿里、魅族、nvidia、龙芯、炬力、拓尔思等资深工程师组成。百分百原创,每周两篇,分享嵌入式、Linux、物联网、GPU、Android、自动驾驶等技术。欢迎扫码关注微信公众号:嵌入式企鹅圈,实时推送原创文章!
技术交流学习或者有任何问题欢迎加群:154514123
但是带来的问题是,默认密码不为空… mysql -uroot -p 登陆不进去… 直接使用mysqladmin改密码也提示错误.
一般在centos下安装Mysql 5.7版本后,密码应该是放在 ~/.mysql_secret文件里,但是Mac呢 ?各翻遍了所有目录都没找到… 一顿狂Google之后,发现不少老外也在纠结这个问题… 这算不算个坑…
[root@devops ~ ]$ sudo find / -name ".mysql_secret" find: /dev/fd/3: Not a directory find: /dev/fd/4: Not a directory [root@devops ~ ]$ ll /private/var/root/. total 24 -rw------- 1 root wheel 2520 11 10 23:31 .sh_history -rw------- 1 root wheel 3402 11 10 23:31 .viminfo drwx------ 13 root wheel 442 9 10 22:23 Library -rw-r--r-- 1 root wheel 5 1 16 2015 .CFUserTextEncoding -r--r--r-- 1 root wheel 10 9 10 2014 .forward
那么密码跑哪里去了? 不纠结了,直接把默认密码干掉,再重新配置一个新密码.
首先我们通过 –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) | 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授权修改的密码,需要再次修改下密码. 也不知道为什么有这个要求.
Your password has expired. To log in you must change it using a client that supports expired passwords.
提示密码过期,那就再次修改
[root@localhost bin]# ./mysqladmin -uroot -p password Enter password: //这里输入上面设置的密码 New password: //重新输入新密码 Confirm new password: //重新输入新密码
问题解决,这样Mysql的密码就改完了.
嵌入式企鹅圈原创团队由阿里、魅族、nvidia、龙芯、炬力、拓尔思等资深工程师组成。百分百原创,每周两篇,分享嵌入式、Linux、物联网、GPU、Android、自动驾驶等技术。欢迎扫码关注微信公众号:嵌入式企鹅圈,实时推送原创文章!
技术交流学习或者有任何问题欢迎加群:154514123
相关文章推荐
- solaris10 安装mysql并修改data存放位置
- mysql简单实现查询结果添加序列号的方法
- MySQL中Union子句不支持order by的解决方法
- MySQL关于字符串中数字排序的问题分析
- mysql实现合并同一ID对应多条数据的方法
- Ubuntu 14.04安装mysql
- Mysq中关于数据类型的注意事项
- MySQL 一致性读 深入研究 digdeep博客学习
- mysql-触发器
- MySQL(一)
- Ubuntu安装mysql5.7
- Mysql数据库调优和性能优化的21条最佳实践
- ubuntu下MySQL中文乱码(新版本Mysql修改方法)
- MySQL 多列分区详解
- mysql分页和排序练习
- mysql时间函数练习
- mysql流程函数练习
- mysql字符串函数练习
- mysql 使用技巧 不断更新
- MySQL中,修改表的某一字段的部分值