提问者:小点点

拒绝访问用户root-mysqlMACOS


我知道如何在ubuntu上跳过这个问题,但我怎么能在MACOS呢?

如何在MAC上设置MySQL密码?

1)不起作用

mysqladmin -u root password NEWPASSWORD

2)不起作用

mysqld --skip-grant-tables --skip-networking &

3)这工作:

MySQL root密码忘记


共3个答案

匿名用户

您可以在Mac(El Capitan)上执行以下操作

  1. 打开一个终端窗口,如果mysql已经在运行,请使用下面的命令停止它。

sudo /usr/local/mysql/support-files/mysql.server停止

您还可以检查系统偏好设置

使用以下命令启动MySQL:

sudo /usr/local/mysql/bin/mysqld_safe跳过格兰特表

打开一个新的终端窗口/选项卡:

sudo /usr/local/mysql/bin/mysql-u root

这应该会打开“mysql”提示符。执行以下命令:

mysql代码

故障排除提示:

A)5.7之前的MySql版本的命令是:

mysql代码

b)如果您看到ERROR 1046(3D000):未选择数据库,请先运行此命令:

使用mysql;

C)如果您看到未知的“密码”字段错误,请运行以下命令:

更新用户SETAUTHENTICATION_STRING=密码('NewPassword')WHERE user='root';$mysql

D)如果您看到-错误1064(42000):您的SQL语法有错误;这是因为密码功能在版本8.0.11中被删除。使用裸字符串:

更新用户SETAUTHENTICATION_STRING='NewPassword'WHERE user='root';

停止MySql服务器

sudo /usr/local/mysql/support-files/mysql.server停止

通过系统偏好设置重新启动MySQL

匿名用户

的解决方案

UPDATE user SET authentication_string=PASSWORD("my_password") WHERE User='root';

不是为我工作,但我做了

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';

并且能够继续。我正在使用Ver 8.0.12。

匿名用户

您可以在iMac或Mac(High Sierra)上执行以下操作

打开一个终端窗口,如果mysql已经在运行,则停止它。您还可以检查此系统偏好设置

使用此命令启动MySQL以跳过主表

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

打开一个新的终端窗口/选项卡…

sudo /usr/local/mysql/bin/mysql -u root

这应该会打开“mysql”提示符。执行以下命令:

A)MySQL 5.6及以下版本

UPDATE mysql.user SET password=PASSWORD('NewPassord') WHERE user='root';

--或者--

b)MySQL 5.7

UPDATE mysql.user SET authentication_string=PASSWORD('NewPassord') WHERE user='root';

通过系统偏好设置重新启动MySQL