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

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


当前回答

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

其他回答

系统:

中佐的Linux 7 位于华盛顿市郊1414区

过程:

Open two shell sessions, logging in to one as the Linux root user and the other as a nonroot user with access to the mysql command. In your root session, stop the normal mysqld listener and start a listener which bypasses password authentication (note: this is a significant security risk as anyone with access to the mysql command may access your databases without a password. You may want to close active shell sessions and/or disable shell access before doing this): # systemctl stop mysqld # /usr/sbin/mysqld --skip-grant-tables -u mysql & In your nonroot session, log in to mysql and set the mysql root password: $ mysql mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> quit; In your root session, kill the passwordless instance of mysqld and restore the normal mysqld listener to service: # kill %1 # systemctl start mysqld In your nonroot session, test the new root password you configured above: $ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. ... mysql>

除了其他答案外,在cpanel安装中,mysql根密码存储在一个名为/root/.my.cnf.的文件中(cpanel服务在更改时将其重置,所以这里的其他答案不会有帮助)

我被这个问题困扰了几分钟,下面是唯一可行的解决方案: https://phoenixnap.com/kb/access-denied-for-user-root-localhost

sudo mysql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password Mysql -u root -p

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

这里提供的答案似乎对我不起作用,事实证明,诀窍是: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password

(完整的答案在这里:在MySQL 5.7用" plugin: auth_socket "修改用户密码)