问题
以下是我执行过的命令。$ 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
答案1
在重新安装之前,检查/var/log/mysql日志文件,其中可能包含关于mysql无法正常工作的线索,
重新安装软件包,使用sudo apt-get install mysql-server-5.1 --reinstall
如果不允许重新配置软件包,你可以使用sudo dpkg-reconfigure mysql-server-5.1
答案2ERROR 2002 (HY000) : can not connect to local MySQL server-through socket'/ tmp / mysql.sock'(2 )
在MySQL安装中,可以指定本地连接的套接字的位置,
错误如下所示:Mysql-u root-p
Enter password:
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/ tmp / mysql.sock' (2)
通过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
在本例中我们看到的是/var/lib/mysql/mysql.sock,如果未找到作为参数,则应查看/etc/my.cnf的mysql d节以查找参数:grep socket /etc/my.cnf
socket=/var/lib/mysql/mysql.sock
如果知道它在哪里,我们需要修改相同的文件(/etc/my.cnf )并添加socket client:[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
答案3
sudo apt-get install -f 不能工作sudo apt-get purge mysql* 现在,你可以重新安装mysql服务器。
答案4$ aptitude search mysql |grep ^i$ apt-get --reinstall install mysql-server-5.x
相关文章