我刚刚安装了ubuntu 18.04并在其上安装了LAMP,但是我在使用没有root权限的mysql时遇到了麻烦。我写的时候:
mysql -u root -p
并输入我配置的密码,抛出拒绝访问权限。除非我写
sudo mysql -u root -p
并输入我能够连接的密码。但我不希望sudo导致它阻止工作台连接到mysql,同样适用于phpmyadmin。关于如何解决这个问题的任何提示?
它应该只是需要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”。
我昨天也遇到了这个问题。要解决此问题,请执行以下步骤:
sudo mysql -u root
SELECT User,Host FROM mysql.user;
中的mysql用户DROP USER 'root'@'localhost';
CREATE USER 'root'@'%' IDENTIFIED BY ''
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword';
而已!现在你应该可以连接MySQL了。
我在工作台中使用Ubuntu 18.04和mysql 5.7版,但是通过以下10个步骤解决了这个问题
sudo mysql -u root
SELECT User,Host FROM mysql.user;
中的mysql用户DROP USER 'root'@'localhost';
SET GLOBAL validate_password_length = 5;
SET GLOBAL validate_password_number_count = 0;
SET GLOBAL validate_password_mixed_case_count = 0;
SET GLOBAL validate_password_special_char_count = 0;
SET GLOBAL validate_password_policy = LOW;
CREATE USER 'root'@'%' IDENTIFIED BY 'admin'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;