我刚刚安装了 ubuntu 18.04 并在其上安装了 LAMP,但是我在没有 root 权限的情况下使用 mysql 时遇到了麻烦。当我写:
mysql -u 根目录 -p
并输入我配置的密码,它会拒绝访问。除非我写
sudo mysql -u root -p
并输入我可以连接的密码。但我不希望 sudo 导致它阻止工作台连接到 mysql,同样适用于 phpmyadmin。关于如何解决这个问题的任何提示?
我刚刚安装了 ubuntu 18.04 并在其上安装了 LAMP,但是我在没有 root 权限的情况下使用 mysql 时遇到了麻烦。当我写:
mysql -u 根目录 -p
并输入我配置的密码,它会拒绝访问。除非我写
sudo mysql -u root -p
并输入我可以连接的密码。但我不希望 sudo 导致它阻止工作台连接到 mysql,同样适用于 phpmyadmin。关于如何解决这个问题的任何提示?
它应该只是需要 sudo 的“-u root”用户。无论如何,最好不要使用 root 进行大多数访问,因此只需使用 sudo 以 root 身份登录并创建一个新用户:
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;
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;
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;
在此处输入图像描述1. UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
2.冲洗特权;