首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以根用户身份登录MySQL仅在sudo上工作

以根用户身份登录MySQL仅在sudo上工作
EN

Ask Ubuntu用户
提问于 2021-02-02 12:32:52
回答 1查看 4.5K关注 0票数 0

我在Ubuntu20.04上,安装了mysql的默认版本。但如果不使用sudo,我似乎无法以root身份登录。这是对新版本的限制吗?我相信以前的Ubuntu14.04,12.04等版本都不是这样的。

代码语言:javascript
复制
mysql --user=root -p
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

代码语言:javascript
复制
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)
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2021-02-02 12:57:56

这是有意的功能。应该允许连接到MySQL服务器作为root的唯一的人应该是服务器的所有者。没有其他人。当然,这确实会给那些希望拥有一个可以对MySQL实例做任何事情的人造成问题,比如开发人员和周末服务器管理员。

我的建议是:在MySQL中创建一个只有您才能使用的提升权限的帐户。如果应用程序和网站也使用此MySQL安装,也为每个应用程序和网站创建单独的帐户,只授予它们所需的数据库足够的权限。

这是如何在MySQL中创建高架和正常帐户的方法:

  1. root身份登录到D3
  2. 创建一个新的管理用户:创建由“SuperSecretPassword!123”标识的用户' admin '@'localhost‘;将“ALL ON *.*”授予“admin”@’localhost‘和GRANT选项;如果您要从服务器外部连接到MySQL,也可以这样做:创建由“SuperSecretPassword!123”标识的用户'admin'@'%’;使用SuperSecretPassword选项将所有内容授予'admin'@'%‘;
  3. 创建特定于应用程序的帐户(例如,WordPress):创建由‘SuperSecretPassword!123’标识的用户'wp'@'localhost';将wp.*上的所有帐户授予'wp'@'localhost‘;为每个应用程序执行此操作,确保它们不能访问对方的数据库。
  4. 刷新权限,以确保设置所有内容:刷新权限;

希望这能有所帮助

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1312977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档