当前位置: 首页 > 知识库问答 >
问题:

没有sudo连接到mysql服务器

商同化
2023-03-14

命令:

mysql -u root -p

给出了错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

但是运行sudo权限,工作:

sudo mysql -u root -p

有没有可能因为sudo要求阻止我在intellij中打开数据库而放弃它?在回答这个问题时,我尝试了以下方法:不使用sudo连接到本地MySQL服务器:

sudo chmod -R 755 /var/lib/mysql/

这没有帮助。上面的问题抛出了一个不同的错误

共有3个答案

柴宏阔
2023-03-14

您可以使用相同的ROOT用户或NEW_USER并删除SUDO特权。下面的示例显示了如何使用ROOT删除连接,而不使用SUDO。

使用SUDO连接到My-SQL

sudo mysql -u root

从用户表中删除当前根用户

DROP USER 'root'@'localhost';

创建新的根用户(如果需要,可以创建其他用户)

CREATE USER 'root'@'%' IDENTIFIED BY '';

授予新用户权限(ROOT)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

刷新特权,以便立即重新加载Grant表。(为什么我们需要刷新特权?)

FLUSH PRIVILEGES;

现在一切都好了。以防万一,检查是否创建了新的根用户。

SELECT User,Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | %         |
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

退出mysql。(按CTRL-Z)。不使用SUDO连接到MySQL

mysql -u root

希望这会有帮助!

汪庆
2023-03-14

你需要改变算法。为我做以下工作,

mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
mysql > FLUSH PRIVILEGES;
杭胜
2023-03-14

只有root用户需要sudo要求才能登录mysql。我通过创建新用户并授予对所需数据库的访问权限来解决此问题:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

现在newuser无需sudo要求即可登录:

mysql -u newuser -p
 类似资料:
  • 我试图创建一个JPA项目,eclipse确实连接到数据库,但是没有显示任何表。数据库确实有表,用户“约翰”拥有数据库中的所有许可。从提示符或使用MySQL客户端执行查询没有问题。 下面是"驱动程序属性"中的连接设置: 驱动程序:MySQL JDBC驱动程序 数据库:myDatabase URL:JDBC:mysql://localhost:3306 用户名:john 密码:****** “测试连接

  • 我有一个问题,我用套接字构建了服务器部分和客户机,没有收到任何错误。当我在浏览器中键入本地地址时,它会在cmd中显示信息,但当我在emulator或mobile中运行Android应用程序时,它不会连接到服务器。 我使用的权限: 服务器代码: Main Activity.java是: 请引导我。

  • 本文向大家介绍PHP PDO:连接到MySQL / MariaDB服务器,包括了PHP PDO:连接到MySQL / MariaDB服务器的使用技巧和注意事项,需要的朋友参考一下 示例 有两种方法可以连接到MySQL / MariaDB服务器,具体取决于您的基础结构。 标准(TCP / IP)连接 由于PDO被设计为与旧的MySQL服务器版本(不支持预准备语句)兼容,因此您必须显式禁用该仿真。否则

  • 问题内容: 我正在尝试创建一个注册页面,它将信息添加到SQL表中。这是我执行此操作的PHP代码…谁能告诉我这是什么错误? 它给出了以下错误: 问题答案: 如果您的mysql数据库不在同一服务器(本地主机)上,则需要为该服务器的mysql用户/数据库从远程服务器授予访问权限。请参阅本文以获取一些可能对您有所帮助的步骤。听起来好像很遥远。 https://support.rackspace.com/h

  • 问题内容: 我正在创建一个基于sql的过程,它可以 接受一张表 一次加载一个值 将变量发送到远程API 记录API的响应 将响应写到表中以供以后查看 我已经成功实现了1,2和5。我希望可以通过某种方式选择要联系的地址,并让SQL也可以侦听响应。如果您有任何建议,请告诉我! 问题答案: MySQL调用Web服务的唯一方法是通过自定义UDF。 参见下面的链接,但是基本上您需要做的是构建一个C程序,该程