[英]Access denied for user 'root'@'localhost'
我经历了所有相似或相同的问题(例如this和this ),但仍然无法解决问题。
我在Xenial上使用MySQL 5.7.12。 我不记得在安装过程中设置任何密码(如果要求,我提供的密码是空的)。
我试图用通过密码重置去--skip-grant-tables
,描述在这里 ,它更新了数据库行,但我仍然无法登录。
使用sudo dpkg-reconfigure mysql-server-5.7
没有任何作用,我得到以下信息:
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.12, use --force if you still need to run mysql_upgrade
$ sudo dpkg-reconfigure --force mysql-server-5.7
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.12, use --force if you still need to run mysql_upgrade
有任何想法吗?
MySQL 5.7在安装时会自行生成一个随机的root密码。
这是MySQL 5.7.4的新变化,并在发行说明中进行了描述: https : //dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-4.html
安装过程仅创建一个根帐户'root'@'localhost',自动为此帐户生成一个随机密码,并标记该密码已过期。 MySQL管理员必须使用随机密码以root用户身份连接,并使用SET PASSWORD选择新密码。 (可以在运行脚本的有效用户的主目录的.mysql_secret文件中找到随机密码。)
我找不到.mysql_secret文件,但是在MySQL错误日志(例如Linux中的/var/log/mysqld.log)中也输出了随机密码。 该通知如下所示:
2016-07-11T15:59:54.922316Z 1 [Note] A temporary password is generated for root@localhost: f14_W1lN7FfP
正确重新安装有所帮助。 删除了所有与之相关的内容( 此指令 ,但重要的是指定mysql的版本,例如apt-get --yes purge mysql-server-5.7 mysql-client-5.7
,并且我还删除了mysql-common和所有依赖项以确保)。
然后再次安装( apt-get install mysql-server mysql-client
),当它要求输入密码时,这次,我给了它一个。 现在可以使用了。
您可以重新安装所有内容,而我做到了。 我最初使用macos软件包安装程序进行安装。 那没有带我去任何地方。
因此,卸载了所有内容,然后升级了brew,然后通过brew安装。 运行mysql shell被证明是一件麻烦事。 最终有效的是mysql -u root -p
。
我在本地主机上运行它,因此证明不需要root密码。 奇怪的是, mysql -u root -p <password>
抛出了“拒绝访问”消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.