我在Ubuntu20.04上,安装了mysql的默认版本。但如果不使用sudo,我似乎无法以root身份登录。这是对新版本的限制吗?我相信以前的Ubuntu14.04,12.04等版本都不是这样的。
mysql --user=root -p
ERROR 1698 (28000): Access denied for user 'root'@'localhost'。
sudo mysql --user=root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 80
Server version: 8.0.22-0ubuntu0.20.04.3 (Ubuntu)发布于 2021-02-02 12:57:56
这是有意的功能。应该允许连接到MySQL服务器作为root的唯一的人应该是服务器的所有者。没有其他人。当然,这确实会给那些希望拥有一个可以对MySQL实例做任何事情的人造成问题,比如开发人员和周末服务器管理员。
我的建议是:在MySQL中创建一个只有您才能使用的提升权限的帐户。如果应用程序和网站也使用此MySQL安装,也为每个应用程序和网站创建单独的帐户,只授予它们所需的数据库足够的权限。
这是如何在MySQL中创建高架和正常帐户的方法:
root身份登录到D3wp.*上的所有帐户授予'wp'@'localhost‘;为每个应用程序执行此操作,确保它们不能访问对方的数据库。希望这能有所帮助
https://askubuntu.com/questions/1312977
复制相似问题