Ubuntu 18.04启动没有root权限的mysql

时间:2018-05-01 06:47:49

标签: mysql linux phpmyadmin workbench ubuntu-18.04

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

  

mysql -u root -p

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

  

sudo mysql -u root -p

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

4 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

enter image description here 1. UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';

2.FLUSH 特权;

答案 3 :(得分:0)

我在工作台中使用mysql版本5.7的Ubuntu 18.04,但通过执行以下10个步骤解决了此问题

  1. 连接到MySQL:char name[256];
  2. 检查数据库中的mysql用户:sudo mysql -u root
  3. 丢弃root用户帐户:SELECT User,Host FROM mysql.user;
  4. DROP USER 'root'@'localhost';
  5. SET GLOBAL validate_password_length = 5;
  6. SET GLOBAL validate_password_number_count = 0;
  7. SET GLOBAL validate_password_mixed_case_count = 0;
  8. SET GLOBAL validate_password_special_char_count = 0;
  9. 重新创建root用户:SET GLOBAL validate_password_policy = LOW;
  10. 授予root用户所有权限:CREATE USER 'root'@'%' IDENTIFIED BY 'admin'