首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OS X上重置mysql服务器根密码

在OS X上重置mysql服务器根密码
EN

Stack Overflow用户
提问于 2017-08-13 20:42:32
回答 4查看 7K关注 0票数 1

首先,我知道有几个线程,但我尝试了这么多解决方案,但我不能得到任何工作。

我没有任何mysql服务器和终端的经验。

我下载了mysql服务器5.7.19

根据redtek的回答,这里是:Setting the MySQL root user password on OS X

我从系统设置中打开mysql,单击停止服务器。然后我打开终端并写下

代码语言:javascript
复制
sudo mysqld_safe --skip-grant-tables

我问我的密码(我假设这是相同的,当我启动我的计算机)。我收到一条消息,命令找不到。

代码语言:javascript
复制
MacBook-Pro:~ XXXXXX$ sudo mysqld_safe --skip-grant-tables
Password:
sudo: mysqld_safe: command not found
MacBook-Pro:~ XXXXXX$ 

更新:当我运行下面的解决方案时,在打开一个新窗口后,我得到以下错误:

代码语言:javascript
复制
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
EN

回答 4

Stack Overflow用户

发布于 2018-03-28 02:43:29

停止MySQL服务器。

代码语言:javascript
复制
sudo /usr/local/mysql/support-files/mysql.server stop

使用--skip-grant-tables选项重新启动它。

代码语言:javascript
复制
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables 

打开另一个终端,使用MySQL客户端连接到mysql服务器。

代码语言:javascript
复制
 cd /usr/local/mysql/bin  
 mysql

告诉服务器重新加载授权表,以便帐户管理语句正常工作。

代码语言:javascript
复制
FLUSH PRIVILEGES;

现在重置root用户的密码

MySQL 5.7.6及更高版本:

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5及更早版本:

代码语言:javascript
复制
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

停止服务器,然后正常重启

代码语言:javascript
复制
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start
票数 9
EN

Stack Overflow用户

发布于 2017-08-13 20:48:54

第一步是停止MySQL服务。

代码语言:javascript
复制
sudo /usr/local/mysql/support-files/mysql.server stop

然后你需要在安全模式下启动它

代码语言:javascript
复制
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

其次:让我们打开另一个shell/终端窗口,不用密码登录

代码语言:javascript
复制
  mysql -u root  
UPDATE mysql.user SET Password=PASSWORD('my-new-password') WHERE User='root';  
FLUSH PRIVILEGES;  
\q

因为在authentication 5.7中,mysql.user表中的password字段被删除,现在字段名称是'authentication_string‘。

代码语言:javascript
复制
 mysql -u root  
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE User='root';  
FLUSH PRIVILEGES;  
\q

现在,您需要再次启动MySQL服务器

代码语言:javascript
复制
sudo /usr/local/mysql/support-files/mysql.server start
票数 2
EN

Stack Overflow用户

发布于 2017-08-13 20:52:04

由于本地安装文件夹(/usr/ MySQL /mysql/)未包含在系统变量PATH中,因此找不到该命令。

您可以添加到path

  • 中,也可以使用full path

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45660471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档