当我尝试登录到我的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显示了这一点
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发布于 2018-08-02 04:55:01
您链接到days以查找插件定义的问题:
SELECT User, Host, plugin FROM mysql.user;如果根用户使用auth_socket,那么无论密码如何,只有以根用户身份运行的进程才能以根用户身份连接。
它还指出,如果要对root用户使用密码身份验证,则应使用以下命令:
UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root';编辑:
要使用--skip-grant-tables,请停止mysql服务器,然后手动启动它。
mysqld --skip-grant-tableshttps://stackoverflow.com/questions/51642021
复制相似问题