Ubuntu 18.04启动没有root权限的mysql

问题描述 投票:2回答:3

我刚刚安装了ubuntu 18.04并在其上安装了LAMP,但是我在使用没有root权限的mysql时遇到了麻烦。我写的时候:

mysql -u root -p

并输入我配置的密码,抛出拒绝访问权限。除非我写

sudo mysql -u root -p

并输入我能够连接的密码。但我不希望sudo导致它阻止工作台连接到mysql,同样适用于phpmyadmin。关于如何解决这个问题的任何提示?

mysql linux phpmyadmin workbench ubuntu-18.04
3个回答
3
投票

它应该只是需要sudo的“-u root”用户。最好不要使用root进行大多数访问,所以只需使用sudo以root身份登录并创建一个newuser:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

然后你应该能够访问没有sudo的“mysql -u newuser”。


2
投票

我昨天也遇到了这个问题。要解决此问题,请执行以下步骤:

  1. 连接到MySQL:sudo mysql -u root
  2. 检查db:SELECT User,Host FROM mysql.user;中的mysql用户
  3. 删除root用户帐户:DROP USER 'root'@'localhost';
  4. 重新创建root用户:CREATE USER 'root'@'%' IDENTIFIED BY ''
  5. 授予root用户所有权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  6. 为root用户设置密码:ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword';

而已!现在你应该可以连接MySQL了。


0
投票

我在工作台中使用Ubuntu 18.04和mysql 5.7版,但是通过以下10个步骤解决了这个问题

  1. 连接到MySQL:sudo mysql -u root
  2. 检查db:SELECT User,Host FROM mysql.user;中的mysql用户
  3. 删除root用户帐户:DROP USER 'root'@'localhost';
  4. SET GLOBAL validate_password_length = 5;
  5. SET GLOBAL validate_password_number_count = 0;
  6. SET GLOBAL validate_password_mixed_case_count = 0;
  7. SET GLOBAL validate_password_special_char_count = 0;
  8. SET GLOBAL validate_password_policy = LOW;
  9. 重新创建root用户:CREATE USER 'root'@'%' IDENTIFIED BY 'admin'
  10. 授予root用户所有权限:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
© www.soinside.com 2019 - 2024. All rights reserved.