当前位置:  开发笔记 > 后端 > 正文

如何将root密码设置为null

如何解决《如何将root密码设置为null》经验,为你挑选了8个好方法。

如何从MySQL命令行客户端更改rootMySQL用户的密码null- 意味着没有密码或''- ?



1> Stanislav Ka..:

为我和"5.7.11 MySQL社区服务器"工作:

use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

我不得不更改'plugin'字段,因为它被设置为'auth_socket'.

之后,我可以mysql -u root没有密码连接.


`plugin ='mysql_native_password'`对我来说是关键.
之后我也需要做"冲洗特权".
谢谢你在5.17工作,你需要在使用此方法后重启mysql以查看更改的影响.`sudo service mysql restart`

2> user64141..:

如果您想要一个空密码,您应该将密码设置为null,而不是使用密码哈希函数,如下所示:

在命令行上:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot

在MySQL中:

use mysql;
update user set password=null where User='root';
flush privileges;
quit;


错误代码:1048.列'密码'不能为空

3> bsd..:

以root用户身份连接到mysql(使用以下两种方法之一)

以root身份登录并使用启动mysql mysql -p,输入当前root密码

以self身份登录并启动mysql mysql -u root -p,输入当前root密码

mysql> set password = password('');

完成!没有root密码.



4> kta..:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('');


现在不推荐使用`SET PASSWORD FOR'root'@'localhost'='';`代替.

5> 小智..:

这对我来说在Ubuntu 16.04上使用v5.7.15 MySQL:

首先,确保安装了mysql-client(sudo apt-get install mysql-client).

打开终端并登录:

mysql -uroot -p

(然后输入密码)

之后:

use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

(tnx @Stanislav Karakhanov)

最后一件重要的事情是重置mysql服务:

sudo service mysql restart

您现在应该能够使用MySQL Workbench登录(没有密码).


令我感到困惑的是,有多少种方法可以设置root密码.在此解决方案出现之前,他们都没有在我的MySql 5.7.16上工作.谢谢.

6> Vladislav Ra..:

您可以通过以下五个简单步骤恢复MySQL数据库服务器密码.

步骤#1:停止MySQL服务器进程.

步骤#2:使用--skip-grant-tables选项启动MySQL(mysqld)服务器/守护程序进程,以便它不会提示输入密码.

步骤#3:以root用户身份连接到mysql服务器.

步骤#4:设置新的mysql root帐户密码即重置mysql密码.

步骤#5:退出并重启MySQL服务器.

以下是您需要为每个步骤键入的命令(以root用户身份登录):

第一步:停止mysql服务

# /etc/init.d/mysql stop

输出:

Stopping MySQL database server: mysqld.

步骤#2:启动没有密码的MySQL服务器:

# mysqld_safe --skip-grant-tables &

输出:

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

步骤#3:使用mysql客户端连接到mysql服务器:

# mysql -u root

输出:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

步骤#4:设置新的MySQL root用户密码

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

步骤#5:停止MySQL服务器:

# /etc/init.d/mysql stop

输出:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+  Done                    mysqld_safe --skip-grant-tables

步骤#6:启动MySQL服务器并测试它

# /etc/init.d/mysql start
# mysql      
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 
# mysql -u root -p

资料来源:http://www.cyberciti.biz/tips/recover-mysql-root-password.html


此链接实际上并没有告诉您如何将其设置为null,这是原始帖子的内容.
@DimitryK在较新的版本中,`password`列是`authentication_string`.
第1步和第2步不是必需的(问题并不是说以前的密码丢失或遗忘),第4步是错误的,因为问题是如何设置空密码,应该是`update user set password = PASSWORD( '')其中User ='root';`如果使用MySQL 5.5.46或更新,`更新用户设置密码= null其中User ='root';`如果使用旧版本.

7> 小智..:

mysql直接编辑数据库不是一个好主意。

我喜欢以下步骤:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 
mysql> flush privileges;



8> 小智..:

对于MySQL 8.0而言:

SET PASSWORD FOR 'root'@'localhost' = '';

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有