mysql -u root 不起作用但是 sudo mysql -u root 起作用,为什么?

mysql -u root 不起作用但是 sudo mysql -u root 起作用,为什么?

我最近按照一些教程使用 sudo apt-get install mysql-server-5.7 安装了 mysql

我可以通过运行以下命令使用密码连接到数据库:

sudo mysql -u root -p

我尝试通过运行来连接:

mysql -u root -p

但我收到了错误:

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

为什么?我该如何解决这个问题?

答案1

  1. 使用 sudo 访问:sudo mysql -u root -p
  2. 删除root用户:drop user 'root'@'localhost';
  3. 再次创建root用户:create user 'root'@'%' identified by 'your_password';
  4. 授予权限:grant all privileges on *.* to 'root'@'%' with grant option;
  5. 更新权限表:flush privileges;
  6. 退出 MYSQL 并尝试在没有 sudo 的情况下重新连接。

字体:无法从 ubuntu 16.04 中的普通用户帐户以 mysql 用户 root 身份登录

答案2

  1. 访问须藤sudo mysql -u root -p
  2. 去除超级用户drop user root@localhost;
  3. 创建用户同名:create user 'root'@'localhost' identified by 'password';
  4. 授予用户所有权限:grant all privileges on *.* to 'root'@'localhost';
  5. 刷新权限表:flush privileges;
  6. 退出表:exit 现在尝试直接访问它,而无需 sudo 命令。Ubuntu 20.10(Groovy Gorilla)

相关内容