我不知道我的MySQL根密码;我怎么才能知道呢?是否有存储此密码的文件?

我正在跟踪这个链接,但我在本地没有directadmin目录。


当前回答

去phpMyAdmin > config.inc.php > $cfg['Servers'][$i]['password'] = ";

其他回答

除非包管理器要求您在安装期间输入根密码,否则默认的根密码是空字符串。要连接到新安装的服务器,输入:

shell> mysql -u root --password=
mysql>

要更改密码,请返回unix shell并输入:

shell> mysqladmin -u root --password= password root

新密码为“root”。现在连接到服务器:

shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

哎呀,密码改了。使用新的根:

shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql> 

宾果!做一些有趣的事情

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

莫里斯

多亏了@thusharaK,我可以在不知道旧密码的情况下重置根密码。

在ubuntu上,我做了以下操作:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking

然后在新的终端运行mysql:

mysql -u root

并执行如下命令修改密码:

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;

在MySQL 5.7中,MySQL中的password字段。用户表字段被删除,现在字段名是'authentication_string'。

退出mysql安全模式,启动mysql服务:

mysqladmin shutdown
sudo service mysql start

这招对我很管用:

在终端类型上执行如下操作

$ sudo mysql -u root -p

Enter password://直接按Enter

mysql >

在你的“主机名”中。在MySQL工作的数据文件夹中的err文件中,尝试寻找以以下开头的字符串:

“为roor@localhost生成临时密码”

你可以使用

less /mysql/data/dir/hostname.err 

然后使用斜杠命令,后面跟着要查找的字符串

/"A temporary password"

然后按n,进入下一个结果。

有一件事绊倒了我在一个新的MySQL安装,并想知道为什么我不能得到默认密码工作,为什么甚至重置方法不起作用。 在Ubuntu 18上,MySQL服务器的最新版本在默认情况下根本不使用root用户的密码认证。这意味着不管你设置它为什么,它都不会让你使用它。它期望您从特权套接字登录。

mysql -u root -p

即使您使用了正确的密码,这也不起作用。

相反,你需要使用:

sudo mysql

这将适用于任何密码。 然后输入

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';

然后登出,现在它将接受您的密码。