首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重置根密码的问题: Unix和类Unix系统

问重置根密码的问题: Unix和类Unix系统
EN

Stack Overflow用户
提问于 2018-08-02 04:47:16
回答 1查看 130关注 0票数 1

当我尝试登录到我的mysql root用户时,我得到了错误1045。我正在尝试按照mysql网站https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html上的指示重置我的密码,但是我遇到了问题。

第一步是- 1.以运行MySQL服务器的Unix用户身份登录到您的系统(例如,mysql)。

我刚刚登录到我的计算机上的管理员帐户,为此,我总是使用mysql。然后我运行命令'mysql service stop;'

第二步2-如果MySQL服务器正在运行,则对其进行封顶。找到包含服务器进程ID的.pid文件。此文件的确切位置和名称取决于您的发行版、主机名和配置。常见的位置是/var/lib/mysql/、/var/run/mysqld/和/usr/local/mysql/data/。通常,文件名的扩展名为.pid,并以mysqld或系统的主机名开头。

我没有/var/run/mysqld和/usr/local/mysql/data的目录路径,但/var/lib/mysql显示了这一点

代码语言:javascript
复制
cd var/lib/mysql
root@Roedelius:/var/lib/mysql# ls
auto.cnf         ibdata1      mysql               performance_schema
debian-5.7.flag  ib_logfile0  mysql_upgrade_info  posts
ib_buffer_pool   ib_logfile1  mytodo              sys

我这里没有.pid文件,所以我不知道如何继续下一步。如果能帮上忙我将不胜感激。

停止mysql服务并执行此操作

代码语言:javascript
复制
orpheus@Roedelius:~$ mysqld --skip-grant-tables

如图所示

代码语言:javascript
复制
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied)
2018-08-01T22:03:56.332143Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-08-01T22:03:56.332216Z 0 [Warning] Can't create test file /var/lib/mysql/Roedelius.lower-test
2018-08-01T22:03:56.332241Z 0 [Note] mysqld (mysqld 5.7.23-0ubuntu0.18.04.1) starting as process 9399 ...
2018-08-01T22:03:56.334186Z 0 [Warning] Can't create test file /var/lib/mysql/Roedelius.lower-test
2018-08-01T22:03:56.334201Z 0 [Warning] Can't create test file /var/lib/mysql/Roedelius.lower-test
2018-08-01T22:03:56.334463Z 0 [Warning] One can only use the --user switch if running as root

2018-08-01T22:03:56.334491Z 0 [ERROR] failed to set datadir to /var/lib/mysql/
2018-08-01T22:03:56.334502Z 0 [ERROR] Aborting

2018-08-01T22:03:56.334514Z 0 [Note] Binlog end
2018-08-01T22:03:56.334551Z 0 [Note] mysqld: Shutdown complete
EN

回答 1

Stack Overflow用户

发布于 2018-08-02 04:55:01

您链接到days以查找插件定义的问题:

代码语言:javascript
复制
SELECT User, Host, plugin FROM mysql.user;

如果根用户使用auth_socket,那么无论密码如何,只有以根用户身份运行的进程才能以根用户身份连接。

它还指出,如果要对root用户使用密码身份验证,则应使用以下命令:

代码语言:javascript
复制
UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root';

编辑:

要使用--skip-grant-tables,请停止mysql服务器,然后手动启动它。

代码语言:javascript
复制
mysqld --skip-grant-tables
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51642021

复制
相关文章

相似问题

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