命令:

mysql -u root -p

给出了错误:

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

但运行sudo特权是有效的:

sudo mysql -u root -p

Is it possible to get rid of the sudo requirement因为它阻止我在intellij中打开数据库?我在回答问题Connect to local MySQL server without sudo时try 了以下方法:

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

这没用.上面的问题抛出了一个不同的错误

推荐答案

只有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

Mysql相关问答推荐

在MySQL中使用FIRST_VALUE()

按特定顺序匹配 EventS 和下一个 EventA 之前的第一个 Event 之间的记录

为大表优化 Django 模型

如果其中一个表为空,则 mysql 中的查询会给出 0 个结果

global max_connections 和 spring.hikari.maximumPoolSize 有什么区别?

Select 不同的列,其中另一列不包含特定值

如何在 axios 请求中将更新的设置状态值作为参数传递

错误1075:表定义不正确;只能有一个自动列,它必须定义为一个键(使用 gorm 和 mysql)

查询获取日期之间的可数匹配条目并加入它们以读取用户状态

从 2 个不同的表中获取数据并将它们加入 sql

是否可以从 .SQL 文件中计算表中的行数?

此插页中的X是什么> X'3C2F756C3E'

当您无法修复表时,如何修复 MySQL不正确的密钥文件错误?

将 MySQL 查询的输出转换为 utf8

这是将表单数据插入 MySQL 数据库的安全方法吗?

默认为空字符串的列

在连接条件上使用 IS NULL 或 IS NOT NULL - 理论问题

如何从两个不同的日期获得年份差异?

如何改进 INSERT INTO ... SELECT 锁定行为

MySQLgo 除非数字字符进行比较