之前在Mac上安装了MySQL 5.7版本,最近想连接数据库看看之前的数据还在不在,结果发现初始密码给忘了。这可怎么办,别着急,从头开始来吧
1.打开终端,输入 mysql -u root -p 然后回车
2.需要输入密码. 由于已经忘了初始密码,那就先随便填一个吧
3.回车然后查看终端提示
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
上网查了下,很有可能是没有启动MySQL服务。
在Mac中怎么查看MySQL的服务是否启动呢?
- 点击电脑左上角的苹果图标
- 选择 系统偏好设置
- 点击底部的 MySQL(如果没有安装 MySQL,是没有这个选项的)
4.点击进入后,发现真的是停用的
5.点击图片中右边的 Start MySQL Server, 等待数据库启动,如下图(这里需要输入电脑密码,一般是开机/锁屏密码)
下面的 是否在开机时自动启动 MySQL Server,可以勾选也可以不勾选。勾选上后比较省事,当电脑重启后不需要单独启动MySQL Server
这时再次进入终端,重新输入 mysql -u root -p 并回车,需要输入密码,由于已经不记得之前的密码了,先随便输一个,提示 Access denied for user 'root'@'localhost'。说明你输入的密码是错误的。如图显示
这个时候我们需要怎么处理呢?
别慌,问题一步一步的解决。
1.需要先关闭数据库服务,步骤和上面是一样的
苹果图标->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)
如果点击 stop mysql server 没有响应,可以在终端中输入下列语句来关闭
##停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop
亲测好用
2.终端中输入 cd /usr/local/mysql/bin/
回车后 登录管理员权限
sudo su
回车后输入以下命令来禁止mysql验证功能
./mysqld_safe --skip-grant-tables &
回车后mysql会自动重启(偏好设置中mysql的状态会变成running)
3.
输入命令 ./mysql
FLUSH PRIVILEGES;
回车后,输入命令 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'; (其中在你的新密码处输入你想要修改的密码)
FLUSH PRIVILEGES; 不然无法生效。(之前查了很多文档,都是没有这一步,导致修改不成功)。
退出mysql
关闭安全模式数据库 /usr/local/mysql/bin/mysqladmin -u root -p shutdown
4.重新登录数据库,使用你刚才修改的新密码
除了忘记密码外,还有一种情况是需要重新安装MySQL Server,这就需要先卸载原有的,再安装新的。
怎么去卸载笔记本上的数据库呢,我们需要这么做:
- 首先得知道MySQL的路径。默认的话是在/usr/local文件夹下的
- 在终端中执行:
cd (切换到根目录)
open /usr (打开usr文件 - 找到local,进入到local文件夹
如果发现usr菜单中没有local文件夹,可以直接 cd 将local文件夹拖拽进入终端,这样就可以进入local文件夹了 - 依次执行如下命令:
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.* - 操作完,可以去系统偏好设置查看是否有mysql(肯定是没有了)
这是,电脑中的mysql就被完全删除了。可以重新去mysql官网下载了。
然后一路next就可以了
好了,今天就到这里了。