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

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


当前回答

mysql服务器安装后的默认密码是:mysql

其他回答

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

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

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

你找不到它。它存储在一个数据库中,您需要根密码才能访问该数据库,即使您以某种方式获得了访问权限,它也会使用单向散列进行散列。您可以重置:如何重置Root用户密码

在Windows系统下,请按照以下步骤重置密码

从任务管理器中停止Mysql服务 创建一个文本文件并粘贴下面的语句

MySQL 5.7.5及以前版本: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');


MySQL 5.7.6及以上版本: ALTER USER 'root'@'localhost'

保存为mysql-init.txt,并将其放在“C”盘。 打开命令提示符并粘贴以下内容

C:\\ > mysqld——init-file=C:\\mysql-init.txt

如果您在过去已经设置了密码,mysql -uroot -p解决方案将不起作用,

在我的例子中,我使用了上面的一些答案来解决这个问题(Ubuntu 16)。结果是:

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

如果你在屏幕上看到这段文字: mysqld_safe UNIX套接字文件目录“/var/run/mysqld”不存在。 然后做:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

sudo mysqld_safe --skip-grant-tables & # Look at the & at the end! 

进入其他终端设置密码如下:

sudo mysql -u root

mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('__NEW__PASSWORD__');
mysql> flush privileges;
mysql> quit;

然后重新启动服务并登录

# end mysqld_safe in the other terminal
sudo service mysql start
sudo mysql -h 127.0.0.1 -uroot -p