最近想在mac上装一个mysq,但是各类坑,网上搜了N多,就是不行,最后在CSDN上一位叫chris-gardner的博客里找到告终果(侵删)mysql
下载mysql的安装包,安装完成后,它会随机的给你一个本地root的密码,可是臭长臭难记,root@localhost:后面的就是密码,太特么恶心了sql
在终端执行mysql -uroot -p后是这样的:数据库
输入进去的密码压根就不显示,输入N多遍,总是提示安全
ERROR 1045: Access denied for user: 'root@localhost' (Using
password: NO)12复制代码
或者bash
ERROR 1045: Access denied for user: 'root@localhost' (Using
password: YES)12复制代码
解决上面错误的方法之一就是从新设置咱们的mysql的root密码。服务器
1.在终端输入下面命令关闭正在运行的mysql,若是msyql没有运行能够跳过,须要输入mysql的密码。若是mysql密码忘记了,能够直接经过系统偏好设置里面关闭!ui
/usr/local/mysql/bin/mysqladmin -u root -p shutdown1复制代码
系统便好设置关闭如图 spa
2.进入mysql的bin目录执行以下命令3d
$ cd /usr/local/mysql/bin
$ sudo su 12复制代码
以后输入管理员密码会看到code
sh-3.2# 1复制代码
以后咱们输入下面命令以安全模式运行mysql
sh-3.2#./mysqld_safe --skip-grant-tables &1复制代码
运行结束咱们打开mac的系统偏好设置,选择msyql,咱们会发现Mysql从新运行了如图
回到终端点击Command + N 从新打开一个终端
输入
mysql -u -root1复制代码
这时候咱们不须要密码就能进入mysql
Your MySQL connection id is 57
Server version: 5.7.10 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, 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>123456789101112复制代码
注意:这里有的时候会进不来,这个时候能够尝试重启mac电脑,具体缘由我也不清楚。
3.修改root密码
首先执行下面命令为了可以修改任意的密码
mysql> FLUSH PRIVILEGES;1复制代码
以后执行修改密码的SQL语句,这里的qsd19001008能够替换你本身想要修改的密码
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('qsd19001008');1复制代码
若是你的子账号能够登陆msyql你也能够尝试下面的方法
mysql>UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';1复制代码
或
mysql>USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = 'localhost' AND User = 'root';123复制代码
又或者
mysql>USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = '%' AND User = 'root';123复制代码
最后刷新
FLUSH PRIVILEGES;1复制代码
Control+D推出mysql,而后关闭安全模式数据库,这里要输入你刚才设置数据密码就好啦
/usr/local/mysql/bin/mysqladmin -u root -p shutdown1复制代码
到目前为止你就找回了你mysql的密码啦
正常启动mysql数据库,输入刚才设置的密码qsd19001008
/usr/local/mysql/share/mysql.server start1复制代码
若是上面的命令不执行,同理到系统偏好里开启mysql服务器。
最后执行下面的终端命令,而后输入刚才设置的密码qsd19001008咱们就能够正常进入mysql啦
$mysql -u root -p复制代码