首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:没有sudo就无法登录数据库(mysql-server-5.7)

问MySQL:没有sudo就无法登录数据库(mysql-server-5.7)
EN

Stack Overflow用户
提问于 2017-02-17 15:49:15
回答 4查看 2K关注 0票数 1

我已经通过sudo apt-get install mysql-server安装了mysql-server。

不,当我想用mysql -u root -p登录时,我收到消息ERROR 1698 (28000): Access denied for user 'root'@'localhost'。

但当我使用sudo mysql -u root -p登录时,一切都很正常。

我需要修复什么,才能在没有sudo命令的情况下登录mysql?

EN

回答 4

Stack Overflow用户

发布于 2017-02-17 16:34:26

这是一个权限问题,并按预期工作:默认情况下,只有root linux用户才能执行mysql守护进程。

要允许其他用户使用该命令,请抛出该命令:

代码语言:javascript
复制
sudo chmod -R 755 /var/lib/mysql/

在此之后,您必须重新启动mysql守护进程。根据您的linux内核,尝试以下选项之一:

代码语言:javascript
复制
/etc/init.d/mysqld restart

或

代码语言:javascript
复制
service mysqld restart

请注意,所有这些都不是必需的,并且会降低安全性。我看不出为什么必须用普通用户执行mysql,除非是在共享服务器上,在每个用户的控制下运行几个mysql实例。

票数 1
EN

Stack Overflow用户

发布于 2017-02-17 19:18:27

如下面的答案所述:https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7/763359#763359

MySQL 5.7改变了安全模式,超级用户登录现在需要sudo。

解决方案是创建一个新用户并赋予他们特权。

上面的链接答案解决了我的问题。

票数 0
EN

Stack Overflow用户

发布于 2017-10-27 17:51:05

我在MySQL5.7中也遇到了同样的问题

因为普通用户没有权限获得访问权限..

打开mysql:

sudo mysql -u根-P

创建新用户并向该用户添加所有权限:

根据需要更换用户名和密码。替换avi和avi123

代码语言:javascript
复制
CREATE USER 'avi'@'localhost' IDENTIFIED BY 'avi123';

GRANT ALL PRIVILEGES ON *.* TO 'avi'@'localhost' WITH GRANT OPTION;

FLUSH PRIVILEGES;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42292278

复制
相关文章

相似问题

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