ERROR 1698 (28000): Access denied for user 'root'@'localhost'

在新版的 Ubuntu (如 16.04,18.04)中,安装好 MySQL 后直接用下面的命令连接总是会报错: $ mysql ERROR 1045 (28000): Access denied for user 'feiffy'@'localhost' (using password: NO) $ mysql -u root ERROR 1698 (28000): Access denied for user 'root'@'localhost' 这是因为 mysql 默认的 root 用户使用了 UNIX auth_socket_plugin 的用户认证方式。 下面使用 sudo 权限登录 mysql,