重置根密码有问题:unix和类unix系统

3b6akqbq  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(312)

当我尝试登录mysql根用户时,出现错误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显示了这一点

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服务并执行此操作

orpheus@Roedelius:~$ mysqld --skip-grant-tables

显示这个

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
cu6pst1q

cu6pst1q1#

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

SELECT User, Host, plugin FROM mysql.user;

如果用户root使用auth\u socket,那么无论密码如何,只有以root身份运行的进程才能以root身份连接。
它还表示,如果要对root用户使用密码身份验证,则应使用以下命令:

UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root';

编辑:
使用 --skip-grant-tables ,停止mysql服务器,然后手动启动它

mysqld --skip-grant-tables

相关问题