【问题标题】:Resetting mysql password results: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)重置mysql密码结果:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
【发布时间】:2018-10-17 01:30:45
【问题描述】:

我不断收到错误:

ERROR 2002 (HY000): 无法通过套接字连接到本地 MySQL 服务器 '/var/run/mysqld/mysqld.sock' (2)

尝试通过终端连接到 MySQL 时。

我已经完成了两个教程:

官方: https://help.ubuntu.com/community/MysqlPasswordReset

还有一个不太正式的: https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts

创建文件/var/run/mysqld/mysqld.sock在授予权限chown -R mysql /var/run/mysqldchown -R mysql /var/run/mysqld/mysqld.sock后实际上可以工作,然后我可以在终端中登录mysql并更改我的主用户和root用户的密码。

在运行sudo /etc/init.d/mysql startsudo /etc/init.d/mysql restart 之后,我再次 - 无法使用我的用户名和密码连接到 mysql。

service mysql status
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-05-07 12:00:51 IDT; 43s ago
  Process: 11057 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
  Process: 11042 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 11056 (mysqld)
    Tasks: 13 (limit: 4915)
   Memory: 103.3M
      CPU: 464ms
   CGroup: /system.slice/mysql.service
           └─11056 /usr/sbin/mysqld

May 07 12:00:20 asd systemd[1]: Starting MySQL Community Server...
May 07 12:00:51 asd systemd[1]: Started MySQL Community Server.

在这篇文章之后: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)

当再次运行sudo /etc/init.d/mysql start时,重启mysql并没有像帖子乞求中提到的那样起作用:

sudo /etc/init.d/mysql start
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
sh: 0: getcwd() failed: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
[....] Starting mysql (via systemctl): mysql.servicejob-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
[ ok job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
.
sudo service mysql start
sh: 0: getcwd() failed: No such file or directory

完全重新安装 MySQL 是不可接受的。

其中一位评论者说:

客户端设置与服务器设置一致。

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306

这很奇怪,因为在我的目录 /var/run/mysqld/ 中,mysqld.sock 文件以某种方式被删除,并且在我的 /etc/mysql/my.cnf 文件中没有任何类似的内容:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
#bind-address = 127.0.0.1

如何正确稳定我的 MySQL 登录? 为什么会这样?

跑步:

Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:    17.10
Codename:   artful

【问题讨论】:

    标签: mysql apache ubuntu


    【解决方案1】:

    你还在面对这个问题吗?可能不是,但类似的事情发生在我身上,我意识到当查询运行正常时,它不会影响任何行......我修改了查询以仅匹配“localhost”并且有效:

    UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';

    【讨论】:

    • 您的回答与提出的问题无关。
    • 已经解决了,但不是我自己解决的,所以我没有太多信息。系统管理员告诉我这与--skip-grant-tables --skip-networking & 和mysql 无法通信有关。所以尝试重新启用--skip-grant-tables --skip-networking & 并重新启动mysql。如果您发现了这一点,请在此处发布,以便其他人可以享受。
    猜你喜欢
    • 2014-04-12
    • 2012-09-19
    • 2019-09-28
    • 2021-08-15
    • 2018-08-01
    • 2017-03-18
    • 1970-01-01
    • 2022-06-30
    • 2017-02-12
    相关资源
    最近更新 更多