这是我完成的以下命令。
$ sudo service mysql start
mysql start/running
$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
$ aptitude search mysql |grep ^i
i libapache2-mod-auth-mysql - Module Apache 2 pour l'authentification vi
i libdbd-mysql-perl - Perl5 database interface to the MySQL data
i libmysqlclient16 - MySQL database client library
i mysql-client-5.1 - MySQL database client binaries
i mysql-client-core-5.1 - MySQL database core client binaries
i mysql-common - MySQL database common files, e.g. /etc/mys
i mysql-server-5.1 - MySQL database server binaries and system
i mysql-server-core-5.1 - MySQL database server binaries
i php5-mysql - MySQL module for php5
Run Code Online (Sandbox Code Playgroud)
Cia*_*man 18
在重新安装之前,请检查 /var/log/mysql 是否有日志文件,其中可能包含有关 mysql 为何不工作的线索。如果没有日志记录到文件可能未在您的配置中启用:配置 Mysql 错误日志
要重新安装任何软件包,请检查已安装的版本
dpkg -l|grep mysql-server
Run Code Online (Sandbox Code Playgroud)
然后对于 5.7 版使用
sudo apt-get install mysql-server-5.7 --reinstall
Run Code Online (Sandbox Code Playgroud)
如果这不允许您重新配置可以使用的包
sudo dpkg-reconfigure mysql-server-5.7
Run Code Online (Sandbox Code Playgroud)
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/tmp/mysql.sock' (2)
在 MySQL 安装中,可以指定我们将在何处拥有本地连接的套接字。在进行更新时经常会看到错误“Can not connect to local MySQL server socket-through”。让我们看看如何解决这个问题。
错误如下所示:
Mysql-u root-p
Enter password:
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/ tmp / mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)
通过ps
我们可以看到是否由参数指定以及它在哪里:
# ps -fea | grep mysqld
mysql 17661 14003 1 Feb19 ? 00:24:59 /usr/local/mysql-percona/libexec/mysqld --basedir=/usr/local/mysql-percona --datadir=/var/data/mysql/datadir/data --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log
root 23790 7840 0 09:25 pts/0 00:00:00 grep mysqld
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我们看到的是在/var/lib/mysql/mysql.sock
. 如果未找到作为参数,则应查看 mysqld 部分/etc/my.cnf
以查找参数:
grep socket /etc/my.cnf
socket=/var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
如果我们知道它在哪里,我们需要修改同一个文件 ( /etc/my.cnf
) 并添加参数部分 socket client:
[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
101148 次 |
最近记录: |