MySQL:用户 root@localhost 的访问被拒绝

MySQL: Access denied for user root@localhost

我已经尝试修复这个问题 3 个小时了,我已经累坏了。我想做的就是通过 ssh 进入网络服务器,安装 mysql 并使用它。我已经通过 sudo apt-get install mysql-server 在 Ubuntu 16.04 上安装了它。不,我没有被要求提供 root 密码,很多人声称应该在 Ubuntu 16.04 上出现。 接下来我尝试 sudo mysql -u root -p,然后提示显示 "Enter password:"。我从来没有设置过密码,所以我只是按回车键并得到 Error 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

挫折部分/可跳过:我在 "Hey just start mysql and use this commend to authenticate the root user by this password" 中发现了太多 "solutions" 但它不起作用,我根本无法访问 mysql,只能通过 ssh进入服务器工作(嘿,至少我在那里,是的)。人们声称我应该使用 -h 参数,我已经尝试了所有方法,将 -h 与 127.0.0.1 和服务器 ip 地址一起使用,没有任何效果。我真的希望真正知道他在说什么的人可以介入并对此事进行深入的解释。跟socket有关系吗?这只是密码问题吗?它与ssh有关吗?我无法确定问题所在,也没有人会花时间传授知识而不是提供应有的答案。仅仅安装和使用 mysql 怎么会这么难,我不敢相信我在这上面浪费了这么多时间:(

您应该 运行 'mysql_secure_installation' 进行全新 MySQL 安装,这将整理默认安装并提示您输入 MySQL root 用户的密码。

我找到了 answer,非常感谢。一年多以前,我在同一台服务器上安装了 mysql-server 并设置了密码。因为我已经清除了所有内容,所以我没有想到它。安装时肯定会有类似"do you want to use your old databases?"的警告。只是一些东西,任何东西,给你一个提示。我关闭了大约 100 个选项卡,所有选项卡都指向错误的方向("bind" 设置、ssh 隧道、-h 选项、启动安全守护进程等等)。所以基本上我已经删除了/var/lib/mysql,一切都解决了。