在 Ubuntu 系统中安装 MySQL 后通常无法用 root 用户直接登录,即使密码输入正确。
一般给出的报错为 ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
在 Ubuntu 系统上,root 用户默认使用 auth_socket 认证插件,即 MySQL 的 root 用户只能被 主机 的 root 用户登录。
执行以下命令将直接以 root 用户登录 MySQL,不需要数据库密码。
sudo mysql
新建一个 super 用户来做超级管理员,而 root 用户则保留作为根用户。
CREATE USER 'super'@'localhost' IDENTIFIED BY 'YOUR_PASSWD';
GRANT 'root'@'localhost' TO 'super'@'localhost';
SET DEFAULT ROLE ALL TO 'super'@'localhost';
^D