我刚刚在Mac OS X上安装了MySQL。 下一步是设置根用户密码,所以我接下来做了这个。
1.启动终端应用程序,访问Unix命令行。 2.在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终端时,尝试使用FLUSH PRIVILEGES
命令。 如果这不起作用,在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开始,"password "字段已被重新命名为 "authentication_string"。 当改变密码时,使用下面的查询来改变密码。 所有其他命令保持不变。
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
Update:在8.0.15版本中(也许在该版本之前已经有了),PASSWORD()函数不能工作,正如下面的评论中提到的。你必须使用。
UPDATE mysql.user SET authentication_string='password' WHERE User='root';
如果你不记得你为root设置的密码,需要重新设置,请按照以下步骤进行。
1.停止mysqld服务器,这在每个安装中都有所不同 2.在安全模式下运行服务器,权限绕过
sudo mysqld_safe --skip-grant-tables;
。
3.在一个新的窗口中连接到数据库,设置一个新的密码并刷新权限&;退出。
mysql -u root
。
对于早于MySQL 5.7的MySQL,使用。
UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';
对于MySQL 5.7以上版本,请使用。
USE mysql;
更新 mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';`。
刷新并退出。
刷新权限;
\q
4.停止安全模式的服务器,重新启动你的常规服务器。新的密码现在应该可以使用了。对我来说,这个方法很有效 :)
一旦你安装了MySQL,你就需要建立"root"密码。如果你不建立根密码,那么,就没有根密码,你也不需要密码来登录。
因此,既然如此,你需要建立一个根密码。
使用终端输入以下内容。
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
如果你犯了一个错误,或需要改变根密码,请使用以下方法。
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