全新安装的mysql的默认设置为root
和using password: NO
。但是,尽管mysqladmin ping
会失败,但是在我的系统上您可以成功运行mysqladmin ping -u root
。这告诉我mysqladmin正在从某个地方读取用户/密码。
我正在尝试在另一个系统上重新创建它。我知道用户名和密码,并且可以在新服务器上成功执行mysqladmin ping -u myuser -p 'mypass'
,但是我需要对其进行设置,以便单独使用mysqladmin ping
即可工作,而无需显式传递myuser
和mypass
。
编辑:
这是一些输出,展示了新旧系统之间的差异(最后一行是唯一的差异):
旧服务器
$ mysqladmin ping -u root
/junk/mysqladmin.orig: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
$ mysqladmin ping -u myuser
mysqld is alive
$ mysqladmin ping
/junk/mysqladmin.orig: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
新服务器
$ mysqladmin ping -u root
/junk/mysqladmin.orig: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
$ mysqladmin ping -u myuser
mysqld is alive
$ mysqladmin ping
mysqld is alive
最佳答案
MySQL 5.7及更高版本将root保存在MySQL日志文件中。
请尝试以下方法:
sudo grep'临时密码'/var/log/mysqld.log
You can follow the below link to set/reset MYSQL passwords