在OS X上设置MySQL root用户密码

问题描述

| 我刚刚在Mac OS X上安装了MySQL。下一步是设置root用户密码,因此我下一步是这样做的: 启动终端应用程序以访问Unix命令行。 在Unix提示符下,我执行了以下命令:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password \'password\'
但是,当我执行命令时
$ ./mysql -u root
,这是答案:
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)

Copyright (c) 2000,2010,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>
我可以不用任何密码进入
mysql
命令行! 为什么是这样?     

解决方法

        登录到MySQL终端时,尝试命令ѭ4。如果这样不起作用,请在MySQL终端中尝试以下命令集
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD(\"NEWPASSWORD\") WHERE User=\'root\';
mysql> FLUSH PRIVILEGES;
mysql> quit
使用所需的密码更改出NEWPASSWORD。应该全部设置好! 更新:从MySQL 5.7开始,“ 6”字段已重命名为“ 7”。更改密码时,请使用以下查询来更改密码。所有其他命令保持不变:
mysql> UPDATE user SET authentication_string=PASSWORD(\"NEWPASSWORD\") WHERE User=\'root\';
更新:在8.0.15(可能已经在该版本之前)上,PASSWORD()函数不起作用,如以下注释中所述。您必须使用:
UPDATE mysql.user SET authentication_string=\'password\' WHERE User=\'root\';
    ,        如果您忘记了为root设置的密码并且需要重置密码,请按照以下步骤操作: 停止mysqld服务器,这因安装而异 使用特权绕过以安全模式运行服务器
sudo mysqld_safe --skip-grant-tables;
在新窗口中,连接到数据库,设置新密码并刷新权限并退出:
mysql -u root
对于早于MySQL 5.7的MySQL,请使用:
UPDATE mysql.user SET Password=PASSWORD(\'your-password\') WHERE User=\'root\';
对于MySQL 5.7+,请使用:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD(\"your-password\") WHERE User=\'root\';
刷新并退出:
FLUSH PRIVILEGES;
\\q
停止安全模式服务器,然后重新启动常规服务器。新密码现在应该可以使用了。对我来说就像是一种魅力:)     ,        安装MySQL后,您需要建立\“ root \\”密码。如果您没有建立root密码,那么就没有root密码,也不需要密码即可登录。 因此,话虽如此,您需要建立一个root密码。 使用终端输入以下内容: 安装:设置root用户密码:
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
如果您输入有误,或者需要更改root密码,请使用以下命令: 更改root密码:
cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]

use mysql;
update user set password=PASSWORD(\"NEW_PASSWORD_HERE\") where User=\'root\';
flush privileges;
quit
    ,        mysql网站中提供的说明比上面提到的要清晰得多
$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
/usr/local/mysql/bin/mysql
mysql>冲洗特权; mysql> ALTER USER \'root \'@ \'localhost \'由\'MyNewPass \'标识; mysql>
exit
或Ctrl + z
$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/support-files/mysql -u root -p
输入新密码,即MyNewPass 参考:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html     ,         停止mysqld服务器。 Mac OSX:
System Preferences
>
MySQL
>
Stop MySQL Server
Linux(从终端):
sudo systemctl stop mysqld.service
通过特权绕过以安全模式启动服务器 从航站楼:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
在新的终端窗口中:
sudo /usr/local/mysql/bin/mysql -u root
这将打开mysql命令行。在这里输入:
UPDATE mysql.user SET authentication_string=PASSWORD(\'NewPassword\') WHERE User=\'root\';
FLUSH PRIVILEGES;
quit
再次停止mysqld服务器,然后以正常模式重新启动它。 Mac OSX(从终端):
sudo /usr/local/mysql/support-files/mysql.server restart
Linux终端:
sudo systemctl restart mysqld
    ,        由于某些原因,对于新的Mysql 5.7,Mysql的bin命令未附加到外壳程序: 安装后重新启动Mac。 启动Mysql: 系统偏好设置> Mysql>开始按钮 转到终端中的Mysql安装文件夹:
$ cd /usr/local/mysql/bin/
访问Mysql:
$ ./mysql -u root -p
并输入提供给安装的初始密码。 在Mysql终端中更改密码:
mysql> ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'MyNewPassword\';
    ,        在终端中,输入ѭ40并单击Return。 输入您必须记下的当前mysql密码。 并设置密码
SET PASSWORD = PASSWORD(\'new_password\');
有关更多详细信息,请参见此处。     ,        如果您忘记了MySQL的root密码,不记得了或想闯入……..您可以从Linux或OS X的命令行中重置mysql数据库密码,只要您知道该框的root用户密码即可。你是在: (1)停止MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
(2)以安全模式启动它:
sudo mysqld_safe --skip-grant-tables
(3)这将是一个持续执行的命令,直到该过程完成为止,因此打开另一个Shell /终端窗口,无需密码即可登录:
mysql -u root

UPDATE mysql.user SET Password=PASSWORD(\'password\') WHERE User=\'root\';
在上面的UPDATE命令中,只需用您自己的新密码替换\'password \',请确保保留引号。 (4)保存并相当
FLUSH PRIVILEGES;

\\q
(5)启动MySQL
sudo /usr/local/mysql/support-files/mysql.server start
    ,当我安装OS X Yosemite时,Mysql出现了问题。我尝试了很多方法,但是都没有用。我实际上找到了一个很简单的方法。试试看 首先以su特权登录终端。
sudo su
停止mysql
sudo /usr/local/mysql/support-files/mysql.server stop
以安全模式启动:
sudo mysqld_safe --skip-grant-tables
打开另一个终端,以su特权登录,而不使用密码登录mysql
mysql -u root
修改密码
UPDATE mysql.user SET Password=PASSWORD(\'new_password\') WHERE User=\'root\';
同花顺特权
FLUSH PRIVILEGES;
现在完成了     ,        现有答案中提到的方法不适用于mysql 5.7.6或更高版本。根据mysql文档,这是推荐的方法。 B.5.3.2.3重置根密码:通用说明 MySQL 5.7.6及更高版本:
mysql> ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'MyNewPass\';
参考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html     ,        如果您忘记了密码,则@radtek的答案对我有用,除了在我的情况下,我使用brew设置了MySQL,这意味着他的答案的步骤1和2必须更改为:
/usr/local/bin/mysql.server stop
/usr/local/bin/mysqld_safe --skip-grant-tables
注意:缺少
sudo
。     ,        我认为这应该工作:
ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'YOURNEWPASSWORD\'
(请注意,如果不是root用户,则应该用用户名替换root)     ,        停止MySQL服务器
sudo /usr/local/mysql/support-files/mysql.server stop
以安全模式启动MySQL
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
修改root密码
/usr/local/mysql/bin/mysql -u root
use mysql;
UPDATE user SET authentication_string=PASSWORD(\'NEW_PASSWORD\') WHERE user=\'root\';
FLUSH PRIVILEGES;
exit
测试中 运行
/usr/local/mysql/bin/mysql -u root
现在输入新密码以开始使用MySQL。     ,        这正是对我有效的方法: 确保没有其他MySQL进程正在运行。 以下:
 a.From the terminal,run this command:
       lsof -i:3306 
   If any PID is returned,kill it using kill -9 PID
 b. Go To System Preferences > MySQL > check if any MySQL instances 
    are running,stop them.
使用以下命令启动MySQL:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
每个用户的密码存储在mysql.user表下 列分别为User和authentication_string。我们可以更新 表为:
UPDATE mysql.user SET authentication_string=\'your_password\' where User=\'root\'
    ,        如果您忘记密码或想将其更改为mysql: 启动您的终端并输入:
sudo su
为您输入通行证 停止你的mysql:
sudo /usr/local/mysql/support-files/mysql.server stop
将此窗口保持打开状态,运行第二个终端窗口,然后在此处输入:
mysql -u root
并更改您的mysql密码:
UPDATE mysql.user SET authentication_string=PASSWORD(\'new_password\') WHERE User=\'root\';
其中\“ new_password \”-您的新密码。您不需要mysql的旧版本。 冲洗,退出并检查您的新通行证:
FLUSH PRIVILEGES;
关闭所有窗口,然后检查mysql的新密码。 祝好运。     ,        MySQL 8发生了很大变化。我发现对Mac OS X可以使用MySQL 8.0的以下修改“如何重设根密码”文档。 使用SQL创建一个临时文件
$HOME/mysql.root.txt
,以更新root密码:
ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'<new-password>\';
这使用
mysql_native_password
来避免无法加载身份验证插件\'caching_sha2_password \'的错误,如果我省略该选项,则会出现此错误。 停止服务器,从an74选项开始设置根密码,然后重新启动服务器:
    mysql.server stop
    mysql.server start --init-file=$HOME/mysql.root.txt
    mysql.server stop
    mysql.server start
    ,        在终端尝试一下:
/usr/local/bin/mysql_secure_installation
    ,        您可以通过单击Apple菜单并打开“系统偏好设置”在Mac上手动关闭mysql。选择“ MySQL”首选项面板,然后单击“停止MySQL服务器”按钮以在Mac上停止MySQL服务器。 停止mysql之后,您将需要执行以下步骤。 您需要以“跳过授权表”模式启动mysql   $ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables 在您的终端机本身中,输入以下命令以刷新现有的PRIVILEGES   / usr / local / mysql / bin / mysql mysql>冲洗特权; 现在您需要更改用户密码   mysql> ALTER USER \'root \'@ \'localhost \'由\'newpassword \'标识;      mysql>退出 然后,您可以转至Apple菜单并打开系统偏好设置。选择“ MySQL”首选项面板,然后单击“停止MySQL服务器”按钮以在Mac上停止MySQL服务器。 最后,您可以再次进入Apple菜单并打开系统偏好设置。选择“ MySQL”首选项面板,然后单击“启动MySQL服务器”按钮以在Mac上启动MySQL服务器。 希望能有所帮助     ,        从Mac OSX DMG安装程序安装了5.7.26的macOS 10.14+。 尝试使用其他用户发布的UPDATE命令时,将导致以下错误: 错误1820(HY000):在执行此语句之前,必须使用ALTER USER语句重置密码。 复制安装程序打开终端提供给您的密码,然后执行以下操作:
mysql -uroot -p
ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'YOURPASSWORDHERE\';
    ,        
mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET authentication_string=\'yourpasswd\' WHERE User=\'root\';
FLUSH PRIVILEGES;
ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH caching_sha2_password BY \'yourpasswd\';
每当Macbook重新启动时,我都需要执行此操作。将其发布以供个人参考,希望它也对其他人有所帮助。     ,让我们添加适用于我的笔记本电脑的解决方法! Mac与Osx Mojave 10.14.5 Mysql 8.0.17与自制软件一起安装 我运行以下命令以找到mysql的路径
brew info mysql
知道路径后,我运行以下命令:
/usr/local/Cellar/mysql/8.0.17/bin/mysqld_safe --skip-grant-table
在另一个终端中,我运行:
mysql -u root
在该终端内,我使用以下命令更改了root密码:
update mysql.user set authentication_string=\'NewPassword\' where user=\'root\';
最后,我运行:
FLUSH PRIVILEGES;
瞧,密码已重置。 参考文献:     ,        要引用MySQL 8.0.15 +,password()函数不可用。使用下面的命令。 请使用
UPDATE mysql.user SET authentication_string=\'password\' WHERE User=\'root\';
    ,        以前的注释都无法解决Mac上的问题。 我使用下面的命令,它起作用了。
$ brew services stop mysql
$ pkill mysqld
$ rm -rf /usr/local/var/mysql/ # NOTE: this will delete your existing database!!!
$ brew postinstall mysql
$ brew services restart mysql
$ mysql -u root
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...