我在VM中使用Debian并且我尝试使用skip-grant-tables方法,但我仍然无法使用“root”用户登录。我还允许使用命令
从任何IP连接UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='username'
我在使用skip-grant-tables选项启动sql之后附上了我运行的命令的屏幕截图。
答案 0 :(得分:0)
自5.6以来db格式已更改,因此您需要升级表。埋藏在http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html内你会发现一些细节。这是tl; dr;
首先,如果数据库正在运行,请停止它:
sudo /etc/init.d/mysql stop
切换到mysql用户以简化操作
sudo -u mysql /bin/bash
以安全模式启动数据库
mysqld_safe --skip-grant-tables &
在root用户的另一个控制台中,开始升级
sudo su
mysql_upgrade
完成后,您可以停止安全模式,然后返回现场:
mysqladmin shutdown
/etc/init.d/mysqld start
从那里你可以以root身份重新登录并获得你需要做的事情。