mac上mysql root密码忘记或权限错误的解决办法

以下方法亲测有效,过程使用的工具只有mac的终端无需workbench;

当我们通过终端连接mysql数据库时候我们会看到这样的信息:

ERROR 1045: Access denied for user: ‘[email protected]‘ (Using password: NO)

或者

ERROR 1045: Access denied for user: ‘[email protected]‘ (Using password: YES)

解决上面错误的方法之一就是重新设置我们的mysql的root密码。

1.在终端输入下面命令关闭正在运行的mysql,如果msyql没有运行可以跳过,需要输入mysql的密码。如果mysql密码忘记了,可以直接通过系统偏好设置里面关闭!

`/usr/local/mysql/bin/mysqladmin -u root -p shutdown`

2.进入mysql的bin目录执行如下命令

$ cd /usr/local/mysql/bin
$ sudo su  

之后输入管理员密码会看到

sh-3.2# 

之后我们输入下面命令以安全模式运行mysql

sh-3.2#./mysqld_safe --skip-grant-tables &

运行结束我们打开mac的系统偏好设置,选择msyql,我们会发现Mysql重新运行了

回到终端点击Command + N 重新打开一个终端

输入

mysql -u -root

这时候我们不需要密码就能进入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>

注意:这里有的时候会进不来,这个时候可以尝试重启mac电脑,具体原因我也不清楚。

3.修改root密码

首先执行下面命令为了能够修改任意的密码


mysql> FLUSH PRIVILEGES;

之后执行修改密码的SQL语句,这里的qsd19001008可以替换你自己想要修改的密码

mysql> SET PASSWORD FOR [email protected]‘localhost‘ = PASSWORD(‘qsd19001008‘);

如果你的子帐号可以登录msyql你也可以尝试下面的方法

mysql>UPDATE mysql.user SET Password=PASSWORD(‘newpwd‘) WHERE User=‘root‘;

mysql>USE mysql

   UPDATE user SET Password = PASSWORD(‘newpwd‘)

   WHERE Host = ‘localhost‘ AND User = ‘root‘;

又或者

mysql>USE mysql

   UPDATE user SET Password = PASSWORD(‘newpwd‘)

   WHERE Host = ‘%‘ AND User = ‘root‘;

最后刷新

FLUSH PRIVILEGES;

Control+D推出mysql,然后关闭安全模式数据库,这里要输入你刚才设置数据密码就好啦

/usr/local/mysql/bin/mysqladmin -u root -p shutdown

到目前为止你就找回了你mysql的密码啦

正常启动mysql数据库,输入刚才设置的密码qsd19001008

/usr/local/mysql/share/mysql.server start

如果上面的命令不执行,同理到系统偏好里开启mysql服务器。

最后执行下面的终端命令,然后输入刚才设置的密码qsd19001008我们就可以正常进入mysql啦

$mysql -u root -p

原文地址:http://blog.51cto.com/472169/2126530

时间: 2024-10-14 05:36:41

mac上mysql root密码忘记或权限错误的解决办法的相关文章

Mysql的Root密码忘记,查看或修改的解决方法

Mysql的Root密码忘记,查看或修改的解决方法:1.首先启动命令行2.在命令行运行:taskkill /f /im mysqld-nt.exe3.继续在命令行运行:mysqld-nt --skip-grant-tables4.新开一个命令行运行:mysql -u root (如果没有配置mysql的bin环境变量的话需要切换到bin目录下执行此语句) 如果不想改密码,只是想看原来的密码的话.可以在命令行执行这个语句 select host,user,password from mysql.u

mysql root密码忘记重置

1.修改/etc/my.cnf文件 找到mysqld选项,增加子项skip-grant-tables 2.重新启动mysql服务 service mysqld restart 3.进入mysql 在shell中执行mysql -u root 4.设置root新密码 update mysql.user set password=password('newpassword') where user='root'; flush privileges; 5.删除步骤1中进行的操作. 6.再次执行步骤2.

Centos7 之 MariaDB(Mysql) root密码忘记的解决办法

MariaDB(Mysql) root密码忘记的解决办法 1.首先先关闭mariadb数据库的服务 # 关闭mariadb服务命令(mysql的话命令就是将mariadb换成mysql) [[email protected] ~]# systemctl stop mariadb # 通过进行查询服务或者通过端口查询服务还是否存在 [[email protected] ~]# ps aux|grep mariadb root       6852  0.0  0.0 112704   964 pt

mysql root密码忘记的解决方案(windows环境)

密码多了,有时连自己都忘了.本文是解决windows环境下,忘记mysql数据库root密码的解决方案. 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务.可在cmd窗口,使用命令:net stop mysql   2. 在cmd窗口切换到mysql安装目录的bin目录下,运行命令: mysqld --defaults-file="D:\app\MySQL\MySQLServer5.5\my.ini" --console --skip-grant-tables 上行命令解

Linux Mysql root密码忘记,初始化

前段时间一个测试环境的mysql数据库的root密码找不到了,一个不重要的库,安装人员估计疏忽了...手动把密码恢复了一下.记录下来做个备注 1.进入my.cnf ,在[mysqld]字段中添加   skip-grant-tables 2.重启mysql服务   service mysqld restart 3.无密码进入mysql修改密码 mysql -uroot -p mysql > update mysql.user set PASSWORD=password('new password'

linux系统root密码遗忘的情况下的解决办法

机房一台centos系统的服务器,由于这台服务器的系统装了好长时间,且root密码中间更新过几次,后面去机房现场维护时,登陆密码遗忘了,悲催啊~ 没办法,只能开机进入“单用户模式”进行密码重置了. 下面记录了开机进入“单用户模式”修改密码的过程: (1)重启服务器,等到Booting CentOS界面.迅速按下enter键: (2)在GRUB界面,按下e键(其实,开机后我是一直按e键也可以到下面的界面): (3)在 root(hd0,0)界面选择第二项 kernel 项,按下e键: (4)在<R

Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)

顺便介绍一点win8启动运行 1.win键 + R键 2.Win8虽然取消了开始菜单,不过把鼠标移动到屏幕左下角(原开始菜单处),待Metro界面的缩略图出现,再在Metro界面缩略图上点击鼠标右键,会出现一个右键菜单,里面有运行(R) 正文: (来自http://m.jb51.net/article/38473.htm) 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysq

【MySQL】mysql root密码忘记怎么办?

MySQL忘记密码了怎么解决 笔者曾经有一次误删了mysqlroot用户,怎么办? 之前的解决方式是通过忽略授权表的方式重启mysql然后插入相关数据解决该问题的,但是这种方式需要重启mysql,会影响现有业务,那么有没有其他方式可以不重启MySQL就解决呢? 因为mysql的user表示MyISAM引擎的,因此我们可以通过修改对应的文件来解决这个问题.下面是本人在测试环境的一次演练,仅供参考. 一.查看现有用户 04:18:34 [email protected] [mysql]>select

Mysql root密码忘记的解决办法

Windows 版本: 1.打开安装目录下的my.ini 找到 [mysqld] 在下面加入 skip-grant-tables 2. 重启mysql服务 3.打开命令行 依次输入 USE mysql ;  回车 123就是想要改的密码,根据自己情况设置 UPDATE user SET Password = password ( '123' ) WHERE User = 'root' ;  回车 flush privileges ; 回车 quit回车 4. 删除my.ini加入的  skip-