我尝试安装 mysql 服务器几次,但遇到了问题。首先,当我安装时,它显示一条消息,提示正在设置,然后就挂起了。我无法按 ctl + c 退出,因此我重新启动服务器并尝试使用以下命令登录数据库
sudo mysql -u root -p
我输入密码然后得到
错误 2002 (HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地 MySQL 服务器 (2)
我重新启动服务器:
$ sudo /etc/init.d/mysql start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
我尝试这个:
$ aptitude search mysql | grep ^i
i A libdbd-mysql-perl - Perl5 database interface to the MySQL data
i libmysql-java - Java database (JDBC) driver for MySQL
i A libmysqlclient16 - MySQL database client library
i mysql-client-5.1 - MySQL database client binaries
i A mysql-client-core-5.1 - MySQL database core client binaries
i mysql-common - MySQL database common files, e.g. /etc/mys
i mysql-embedded - MySQL - embedded library
i mysql-server-core-5.1 - MySQL database server binaries
当我导航到该文件夹以查看 *.sock 文件是否存在时:
'/var/run/mysqld/mysqld.sock'
但事实并非如此。我也尝试了这个:
$ service mysql status
status: Unable to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
有什么想法吗?在我的其他机器上安装 mysql 很容易,不确定这里的问题是什么。
答案1
我发现你的软件包损坏了。你说你取消了 MySQL 服务器的安装,也就是软件包mysql-server-5.1
。
尝试清除 MySQL 配置并重新安装:
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get install mysql-server-5.1
请注意,第一个命令会清除 MySQL 数据库的先前设置和密码,包括 MySQL 数据库本身。如果您刚刚安装了服务器(我从您的问题中得知),这不是问题。
SpamapS 注意到,您可以使用 apt 的清除功能来清除 MySQL 服务器及其设置。清除和安装的命令如下:
sudo apt-get --purge remove mysql-server-5.1
sudo apt-get install mysql-server-5.1
答案2
该文件是否mysqld.sock
存在?如果不存在,请尝试以下操作:
sudo mkdir /var/run/mysqld
sudo touch /var/run/mysqld/mysqld.sock
sudo chown -R mysql /var/run/mysqld