我刚刚安装了ubuntu 18.04并在其上安装了LAMP,但是我在没有root权限的情况下使用mysql时遇到了麻烦。我写的时候:
mysql -u root -p
并输入我配置的密码,抛出拒绝访问权限。除非我写的
sudo mysql -u root -p
并输入我能够连接的密码。但我不想要sudo因为它阻止了工作台连接到mysql,同样适用于phpmyadmin。关于如何解决这个问题的任何提示?
答案 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)
昨天我也遇到了这个问题。要解决此问题,请按以下步骤操作:
sudo mysql -u root
SELECT User,Host FROM mysql.user;
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了。
答案 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个步骤解决了此问题
char name[256];
sudo mysql -u root
SELECT User,Host FROM mysql.user;
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'