MACOS中忘记MySQL root密码的解决方案

所属分类: 数据库 / Mysql 阅读数: 779
收藏 0 赞 0 分享

MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

Mac 安装完 MySQL 之后,软件会生成一个默认密码给我们。但是,当我使用Navicat来建立连接是却提示密码失效,无奈,只能修改数据库默认密码。

接下来,记录整个root密码修改过程。

在开始下面的步骤之前必须先停止mysql服务!

 cd /usr/local/mysql/bin/
 sudo su
 ./mysqld_safe --skip-grant-tables & //这一步的作用是跨过权限验证
 ./mysql -uroot //以root身份登录,因为第三步的原因不需要密码了。这之后的命令就不需要在前面加./mysql了
 use mysql;
 update user set authentication_string='123456' where User='root';

网上流传的版本全部是set password =‘' ,这样写一直报错说 ‘password'列不存在!

最终用sql命令查出来只有authentication_string字段,并没有password字段。

上一步执行之后本来以为已经可以登录了,可是navicat连接测试时出现了:

ERROR 1862 (HY000): Your password has expired. To log in you must
change it using a client that supports expired passwords.

所以还需要下面步骤

 cd /usr/local/mysql/bin/
 sudo su
 ./mysql -uroot -p123456
 set password = password('123456')

用户名:root,密码:12345

修改成功

补充:虽然上面成功修改,但还是走了不少弯路,上文只是记录整个过程,下面我们把最简单有效的方法来总结下

这个过程是心酸的,网上的资料多如狗,关键是各有各的错法,尝试了半天没一个对的,在即将打破心理防线,要去翻MySQL文档的时候,我改成功了。没有一个文章告诉我完整的答案,我是参考了好几个攻略,闭门造出来的车。给自己点赞。废话不多说,一步一步跟我走。

1.关闭mysql服务器

sudo /usr/local/mysql/support-files/mysql.server stop


也可以在系统偏好里有个MySQL里关闭。

2.cd /usr/local/mysql/bin    进入目录

3.sudo su 获取权限

4. ./mysqld_safe --skip-grant-tables & 重启服务器

5.重开个终端,

配置短命令:

alias mysql=/usr/local/mysql/bin/mysql

6.输入mysql 进入mysql命令模式

7.use mysql进入mysql数据库

8.flush privileges;大概就是获取权限,要不他不让你改。

9.set password for 'root'@'localhost'=password('新密码'); 完成修改

10.我靠终于改完了。

好了,方法教给大家了,希望对大家能够有所帮助

更多精彩内容其他人还在看

MariaDB(MySQL)创建、删除、选择及数据类型使用详解

这篇文章主要介绍了MariaDB(MySQL)创建、删除、选择及数据类型使用详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql索引学习教程

在mysql 中,索引可以分为两种类型 hash索引和 btree索引。这篇文章主要介绍了mysql索引的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

MySQL修改默认字符集编码的方法

这篇文章主要介绍了MySQL修改默认字符集编码的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL中实现插入或更新操作(类似Oracle的merge语句)

这篇文章主要介绍了在MySQL中实现插入或更新操作(类似Oracle的merge语句)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法

这篇文章主要介绍了mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

LNMP下使用命令行导出导入MySQL数据库的方法

这篇文章主要介绍了LNMP下使用命令行导出导入MySQL数据库的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySql中的IFNULL、NULLIF和ISNULL用法详解

在做项目中发现MySql里的isnull和mssql里的有点不同。接下来小编通过本文给大家介绍MySql中的IFNULL、NULLIF和ISNULL用法详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Mysql 5.7 服务下载安装图文教程(经典版)

MySQL 5.7在诸多方面都进行了大幅的改进,主要在于安全性、灵活性、易用性、可用性和性能等几个方面。这篇文章主要介绍了Mysql5.7服务下载安装图文教程(经典版),需要的朋友可以参考下
收藏 0 赞 0 分享

SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法

下面小编就为大家带来一篇SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

mysql socket文件作用详解

这篇文章主要介绍了mysql socket文件作用的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多