在终端中运行 mysql 而不带参数,给出套接字错误

在终端中运行 mysql 而不带参数,给出套接字错误

当我在终端输入时mysql出现以下错误:

ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)

但是如果使用如下一些参数运行 mysql:

mysql -h 127.0.0.1 -P 3306 -u root -p

它要求我输入 /etc/my.cnf 中已定义的 mysql 密码。因此,我粘贴了相同的密码,并像这样连接到数据库终端:

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.6.4-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

在我的/etc/my.cnf我有以下内容:

[mysqld]
bind-address=127.0.0.1
port=3360
max_allowed_packet=64M
local-infile=0
innodb_file_per_table

[client]
user=root
password=MYSQLPASSWORDHERE
socket=/usr/local/mysql/data/mysql.sock

问题是,由于我已经预定义了 root 密码、端口和绑定地址,为什么如果我运行不带任何参数的命令,/etc/my.cnf它仍然会显示有关套接字的错误mysql

我的目的是在终端中运行mysql命令而不带任何参数,它将向我显示 mysql 终端

答案1

我找到了这个问题的解决方案。我mailutils之前安装过 Debian 软件包,如下所示:

apt install mailutils

它将包括以下包:

The following additional packages will be installed:
  gsasl-common guile-2.2-libs libgc1 libgsasl7 libidn11 libmailutils7 libmariadb3 libntlm0
  mailutils-common mariadb-common mysql-common

我认为这是由于 mariadb 安装冲突造成的,因此当我从 Debian 中删除此 mailutils 包时,不再出现该错误。因此,我可以在终端中直接运行 mysql,而不会出现套接字错误。

相关内容