在OS X上重置mysql服务器根密码
首先,我知道有几个线程,但我已经尝试了这么多的解决方案,我无法得到任何工作 我没有任何mysql服务器和终端的经验 我下载了mysql服务器5.7.19 以下是redtek的回答: 我从系统设置中打开mysql,单击停止服务器。然后,我打开终端并写入在OS X上重置mysql服务器根密码,mysql,macos,Mysql,Macos,首先,我知道有几个线程,但我已经尝试了这么多的解决方案,我无法得到任何工作 我没有任何mysql服务器和终端的经验 我下载了mysql服务器5.7.19 以下是redtek的回答: 我从系统设置中打开mysql,单击停止服务器。然后,我打开终端并写入 sudo mysqld_safe --skip-grant-tables 我问我的密码(我想当我启动电脑时密码是一样的)。我收到一条未找到命令的消息 MacBook-Pro:~ XXXXXX$ sudo mysqld_safe --skip-gr
sudo mysqld_safe --skip-grant-tables
我问我的密码(我想当我启动电脑时密码是一样的)。我收到一条未找到命令的消息
MacBook-Pro:~ XXXXXX$ sudo mysqld_safe --skip-grant-tables
Password:
sudo: mysqld_safe: command not found
MacBook-Pro:~ XXXXXX$
更新:当我运行下面的解决方案时,在打开一个新窗口后,我收到以下错误:
Last login: Sun Aug 13 16:51:49 on ttys002
MacBook-Pro:~ XXXXX$ mysql -u root
-bash: mysql: command not found
MacBook-Pro:~ XXXXX$ UPDATE mysql.user SET Password=PASSWORD('my-new-password') WHERE User='root';
-bash: syntax error near unexpected token `('
MacBook-Pro:~ XXXXX$ FLUSH PRIVILEGES;
-bash: FLUSH: command not found
MacBook-Pro:~ XXXXX$ \q
第一步是停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop
然后你需要在安全模式下启动它
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
第二:让我们打开另一个shell/terminal窗口,不用密码登录
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('my-new-password') WHERE User='root';
FLUSH PRIVILEGES;
\q
因为在MySQL 5.7中,MySQL.user表中的密码字段被删除,现在字段名是“authentication\u string”
mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE User='root';
FLUSH PRIVILEGES;
\q
现在再次需要启动MySQL服务器
sudo /usr/local/mysql/support-files/mysql.server start
第一步是停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop
然后你需要在安全模式下启动它
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
第二:让我们打开另一个shell/terminal窗口,不用密码登录
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('my-new-password') WHERE User='root';
FLUSH PRIVILEGES;
\q
因为在MySQL 5.7中,MySQL.user表中的密码字段被删除,现在字段名是“authentication\u string”
mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE User='root';
FLUSH PRIVILEGES;
\q
现在再次需要启动MySQL服务器
sudo /usr/local/mysql/support-files/mysql.server start
找不到该命令,因为MySQL安装文件夹(/usr/local/MySQL/)未包含在系统变量路径中
找不到该命令,因为MySQL安装文件夹(/usr/local/MySQL/)未包含在系统变量路径中
我花了一些时间来解决这个问题,考虑到大多数解决方案都是针对低于MySQL 5.7版的版本 遵循下面的步骤,它也可以帮助您进行分类 为了安全地确保过程: -在MySQL(spotlight-MySQL)的系统首选项中关闭“启动时自动启动MySQL服务器”的勾选
- 打开终端并键入
-PS:这是为了确保它的在线,下一个进程在我身上中断的时间sudo/usr/local/mysql/support files/mysql.server start
- 现在关闭MySQL服务:
sudo/usr/local/MySQL/support files/MySQL.server stop
- 键入
现在,这将绕过MySQL的安全性—对于操作来说不安全,也不是一个永久性的解决方案,它不允许您始终使用MySQL。 目前,正如你所看到的,它正在一个过程中。。。这将允许我们执行以下步骤。在剩余的过程中保持终端的此选项卡打开李>sudo mysqld\u safe--跳过授权表
sudo/usr/local/mysql/support files/mysql.server start
-更新用户集身份验证\u string=password('jj'),其中user='root'
在旧版本上,这将是updateuser set password=password(“jj”),其中user='root'代码>
-FLUSH特权代码>//这是必要的(更新磁盘而不是缓存),以确保下次关闭mysql并返回时,它在安装时保持可访问性。
-\q
或退出
关闭所有终端,重新启动计算机,并确保一切正常(当然,这需要重新启动,打开终端,mysql,u root,p,按上面的步骤输入密码)。
在我的回答中:jj
是否设置了密码
这是一个很酷的东西,它提供了全新的常识(在我说密码不是字段或类似的东西之后,它立即对我起了作用,在这个新的终端中,updateuser set authentication\u string=Password('jj'))where user='root'
,因此,如果您有相同的代码,请按照以下步骤进行操作-在>mysql本身中您所在的位置..):
-使用mysql代码>
-显示表格代码>
-描述用户代码>
然后从上面的更新用户集身份验证\u string=password('jj')的角度继续,其中user='root'
考虑到大多数解决方案都是针对低于MySQL 5.7版的版本,我花了一段时间才解决这个问题
遵循下面的步骤,它也可以帮助您进行分类
为了安全地确保过程:
-在MySQL(spotlight-MySQL)的系统首选项中关闭“启动时自动启动MySQL服务器”的勾选
- 打开终端并键入
sudo/usr/local/mysql/support files/mysql.server start
-PS:这是为了确保它的在线,下一个进程在我身上中断的时间
- 现在关闭MySQL服务:
sudo/usr/local/MySQL/support files/MySQL.server stop
- 键入
sudo mysqld\u safe--跳过授权表
现在,这将绕过MySQL的安全性—对于操作来说不安全,也不是一个永久性的解决方案,它不允许您始终使用MySQL。
目前,正如你所看到的,它正在一个过程中。。。这将允许我们执行以下步骤。在剩余的过程中保持终端的此选项卡打开李>
现在Cmd+N(新终端窗口),在新终端中:
-sudo/usr/local/mysql/support files/mysql.server start
-更新用户集身份验证\u string=password('jj'),其中user='root'
在旧版本上,这将是updateuser set password=password(“jj”),其中user='root'代码>
-FLUSH特权代码>//这是必要的(更新磁盘而不是缓存),以确保下次关闭mysql并返回时,它在安装时保持可访问性。
-\q
或退出
关闭所有终端,重新启动计算机,
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start