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

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.我靠终于改完了。

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

(0)

相关推荐

  • 强制修改mysql的root密码的六种方法分享(mysql忘记密码)

    方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数. 方法二 使用mysqladmin,这是前面声明的一个特例. mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd. 把命令里的root改为你的用户名,你就可以改你自己的密码了. 当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysq

  • linux mysql忘记密码的多种解决或Access denied for user 'root'@'localhost'

    我的系统是ubuntu6.06,最近新装好的mysql在进入mysql工具时,总是有错误提示: # mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 使用网上介绍的方法修改root用户的密码: # mysqladmin -uroot -p password 'newpassword' Enter password: m

  • mysql忘记密码的解决方法

    關閉方法:service mysqld stop 或 killall -TERM mysqld 接下來,重新開啟mySQL,請額外加上指令: /usr/bin/safe_mysqld --skip-grant-tables & (請注意執行程式的路徑,請替換成你的程式路徑) 然后启动mySQL,在命令模式下键入:mysql # mysql (這個也是,如果直接執行找不到程式,請打完整路徑) >use mysql >update user set password=password(&q

  • mysql修改用户密码的方法和mysql忘记密码的解决方法

    修改密码: 复制代码 代码如下: //选择数据库use mysql;//修改密码update user set password=password('新密码') where user='root';//立即生效flush privileges 忘记管理员密码: 在my.ini的[mysqld]字段下面加入: 复制代码 代码如下: skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据库然后进入mysql 复制代码 代码如下: use mysql;updat

  • MySQL忘记密码恢复密码的实现方法

    一.服务器环境 1.系统windows2003 中文企业版 sp2 2.mysql 5.1.55 3.php 5.2.17 4.IIS 6.0 二.破解过程 1.停止mysql服务(以管理员身份,在cmd命令行下运行)使用如下命令: net stop mysql 2..使用命令启动mysql数据库,命令如下 mysqld --skip-grant-tables 或者 mysqld-nt --skip-grant-tables 3.新开一个cmd窗口,进行如下命令操作 1.mysql -uroot

  • mysql 忘记密码的解决方法(linux和windows小结)

    当登陆MYSQL时,提示: ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES) 说明密码不正确,当确实忘记密码时,要怎么办呢? 难道重新安装,当然不需要了. Linux或UNIX 1. 用root或者以mysqld的用户登录系统 2. 利用kill命令结束掉mysqld的进程 3. 使用 --skip-grant-tables 参数启动MySQL, 假设MySql安装目录在 /usr/local/m

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

    MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件. MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语言是用于访问

  • windows 下忘记mysql root密码的更改方法

    mysql数据库忘记了root密码是件很痛苦的事,本文介绍如何解决windows环境下mysql服务器忘记root密码的解决方法. 1.关闭MySQL服务 window+r运行输入net stop mysql 2.在mysql的bin目录下打开命令行 空白处shift+鼠标右键---->找到在此处打开命令窗口 3.输入mysqld -nt --skip-grant-tables 出现信息以"set to off"结束,说明成功 4.同样地点另开一个命令行,输入mysql,回车 5

  • Ubuntu下MySQL root密码忘记的解决方法

    Linux下忘记MySQL root密码解决方法,基于Ubuntu 14.04 LTS. 本文是在root用户下进行操作,其他操作需要对应权限 编辑mysql的配置文件/etc/mysql/my.cnf,在[mysqld]段下加入一行"skip-grant-tables". 重启mysql服务 sudo service mysql restart 用空密码进入mysql管理命令行,切换到mysql库. root@DENGJAMESLI:~$ mysql Welcome to the M

  • MySQL root密码忘记后更优雅的解决方法

    前言 一直以来,对于MySQL root密码的忘记,以为只有一种解法-skip-grant-tables. 问了下群里的大咖,第一反应也是skip-grant-tables.通过搜索引擎简单搜索了下,无论是百度,抑或Google,只要是用中文搜索,首页都是这种解法.可见这种解法在某种程度上已经占据了使用者的心智.下面具体来看看. skip-grant-tables的解法 首先,关闭实例 这里,只能通过kill mysqld进程的方式. 注意:不是mysqld_safe进程,也切忌使用kill -

  • 使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失

    忘记MySQL(和PHP搭配之最佳组合) ROOT密码是在MySQL(和PHP搭配之最佳组合)使用中很常见的问题,可是有很多朋友并不会重置ROOT密码,那叫苦啊,我有深有感触,特写此文章与大家交流: 1.编辑MySQL(和PHP搭配之最佳组合)配置文件: windows环境中:%MySQL(和PHP搭配之最佳组合)_installdir%\my.ini //一般在MySQL(和PHP搭配之最佳组合)安装目录下有my.ini即MySQL(和PHP搭配之最佳组合)的配置文件. linux环境中:/e

  • MySQL root密码的重置方法

    对于DBA来说,丢失超管用户root的密码是致命的, 可以通过添加--ship-grant-tables参数来跳过权限表. 1.忘记root密码,进不去数据库: 这个时候需要强制停库,先查看MySQL进程号 Kill掉MySQL进程,命令如下: Kill完可以再查看是否还有进程 [root@tse2 tmp]# kill -9 9840 1 [root@tse2 tmp]# ps -ef |grep mysql 建议停库这种操作不要影响业务的情况下,停服操作的,还有最好这种密码记录好的,可以用k

  • 修改Mysql root密码的方法

    一.启动命令行,输入: taskkill /f /im mysqld.exe //关闭mysql 二.转入mysql的bin目录下 三.输入:mysqld --skip-grant-tables // 跳过密码检测 四.原窗口不关闭,新打开一个,转入mysql的bin目录下 五.输入:mysql -u root 六.输入:修改原来密码:update mysql.user set authentication_string=password('123456') where user='root'

  • CentOS下安装mysql时忘记设置root密码致无法登录的解决方法

    前言 昨天一天都是启动mysql时提示:The server quit without updating PID file,今天重装了mysql之后还是同样报错,然后恢复了一下/usr/my.cnf突然就可以启动了.(明明昨天/usr/my.cnf就是默认的,有个解决方法说改这个文件才改的) 然后现在就到没有设置root密码的问题了,搜了几个方法都不行,直到看到下面这个方法一才行. 解决方法一: # /etc/init.d/mysql stop # mysqld_safe --user=mysq

  • mysql root密码的重设方法(亲测可用)

    注意!#号后面是需要操作的地方. 1.前提注意事项 首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: # vi /etc/my

  • 忘记Mysql的密码的处理办法

    Windows:  1.用系统管理员登陆操作系统.  2.在管理工具,服务管理中,找到Mysql服务,停止MySQL的服务.  3.在开始--运行中输入cmd确定,就可以进入DOS窗口,然后进入MySQL的安装目录,比如我的安装目录是 E:\Program Files\MySQL\MySQL Server 5.0\bin 输入 e:回车,  输入cd "E:\Program Files\MySQL\MySQL Server 5.0\bin"  注意双引号也要输入,这样就可以进入Mysq

随机推荐