我知道如何在ubuntu上跳过这个问题,但我怎么能在MACOS呢?
如何在MAC上设置MySQL密码?
1)不起作用
mysqladmin -u root password NEWPASSWORD
2)不起作用
mysqld --skip-grant-tables --skip-networking &
3)这工作:
MySQL root密码忘记
您可以在Mac(El Capitan)上执行以下操作
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