代码之家  ›  专栏  ›  技术社区  ›  David NIWEWE

Ubuntu 18.04无root权限启动mysql

  •  3
  • David NIWEWE  · 技术社区  · 7 年前

    我刚刚安装了ubuntu 18.04并在上面安装了LAMP,但是在没有root权限的情况下使用mysql时遇到了问题。当我写作时:

    mysql-u根-p

    然后输入我配置的密码,它会拒绝访问。除非我写信

    sudo mysql-u根-p

    并输入我可以连接的密码。但我不想让sudo阻止workbench连接到mysql,phpmyadmin也是如此。有没有关于如何解决这个问题的提示?

    5 回复  |  直到 7 年前
        1
  •  6
  •   MarCPlusPlus    7 年前

    只有“-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。

        2
  •  4
  •   Swapnil Bhavsar    7 年前

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

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

    就是这样!现在您应该可以连接MySQL了。

        3
  •  1
  •   Taimoor Tariq    7 年前

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

    1. 连接到MySQL: sudo mysql -u root
    2. 检查数据库中的mysql用户: SELECT User,Host FROM mysql.user;
    3. 删除根用户帐户: 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. 重新创建根用户: CREATE USER 'root'@'%' IDENTIFIED BY 'admin'
    10. 向根用户授予所有权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
        4
  •  1
  •   Heba abd El monaem    5 年前

    enter image description here 1、更新mysql。用户设置插件='mysql\u native\u password',其中用户='root',插件='unix\u socket';

    2.刷新权限;

        5
  •  0
  •   yang    3 年前

    如果没有sudo,您无法使用任何mysql用户连接到mysql,请尝试:

    sudo chmod -R 755 /var/lib/mysql/
    

    sudo chmod -R 755 /var/run/mysql/
    

    然后重新启动服务

    sudo services mysql start
    

    sudo /etc/init.d/mysql start