最近新买了 windows 笔记本, 安装了 ubuntu 系统, 接下来悲剧发生了.
用命令安装 mysql, 默认是 5.7(低版本无法用命令安装), 然后就发生了 mysql -u root -p (然后是输入密码) 无法连接, sudo mysql -u root -p (然后是输入密码, 其实输入任何密码都对)可以连接. 结果就是管理工具 (workbench) 连接不上, 工程起不来. 整整百度了 1 天, 终于遇到一哥们跟我的现象一样的, 然后一本正经的说重新安装了 mysql 后, 不加 sudo 也能连接, 我都重新安装了 n 次, 一直不行. 甚至怀疑是系统问题, 准备重新安装 ubuntu16, 还好网上看到了一哥们说 16 默认安装的也是 5.7. 然后陷入了沉思....
继续百度, 尼玛, 太阳出现了, 一哥们说 5.7 后 root 用户增加了 auth_socket 插件, 本地不容许连接. 然后用 sudo 进入 mysql, 查询了 select * from mysql.user. 发现里面有几个用户, 看到 plugin 字段和 authentication_string(root 用户密码这一列为空)的区别, 似乎懂了一点(其实没完全明白), 忽然又想起网上说用 / etc/mysql/debian.cnf 中的用户名和密码, 突然觉得 debian-sys-maint 就是我要找的用户, 当然也可以新建(之前本地一直用的是 root), 真是白白浪费了时间, 也受到了教训, 立贴为证.
来源: http://www.bubuko.com/infodetail-2593090.html