在终端我执行以下操作:
# mysql -u root -p
Enter password:
并得到结果:
ERROR 1045 (28000): Unknown error 1045
我该如何解决?
答案1
我正在使用安装了 mysql - 5.7 的 Ubuntu-16.04。我遇到了同样的问题。
我尝试了以下步骤:
dpkg --get-selections | grep mysql
(获取mysql的版本)。dpkg-reconfigure mysql-server-5.7
mysql -u root -p
如果没有-p
这个,则不会提示您输入密码。登录后,您可以按照以下步骤创建一个有密码的用户:
CREATE USER '-your_name-'@'your-hostname' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON . to '-your_name-'@'your-hostname' WITH GRANT OPTION;
从根用户退出并从上面提供的登录。
mysql -u -p
由于某种原因,仅输入 mysql 仍然不起作用。完全不起作用。如果可行,请告诉我,否则我还有其他步骤。
答案2
我在这里分享我的经验,希望对大家有用。
我在我的环境(Ubuntu 18.04.3,mysql 14.14,Distribution 5.7.27)上解决了这个问题,如下所示:
sudo mysql -u root -p
Enter password:
然后我按照@Nikhil Rushmith 的建议创建了一个用户:
CREATE USER 'new_username'@'hostname' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON . to 'new_username'@'hostname' WITH GRANT OPTION;
最后,我创建了一个数据库mydb
并将它的所有权限授予新用户new_username
:
GRANT ALL PRIVILEGES ON mydb.* TO 'new_username'@'hostname';
之后,我退出mysql并以新用户连接,并可以访问新的数据库。