我在Ubuntu10.10虚拟机上安装MySQL后尝试启动数据库时出现了如下的问题:
~$ mysql
#ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
然后在网上查找了很久都没有解决问题。后来偶尔看到安装MySQL的一个命令mysql_install_db,但是这个命令包含在MySQL的安装包内,于是我就侥幸用这一个命令试一试,出现如下结果:
~$ mysql_install_db
程序“mysql_install_db”已包含在下列软件包中:
* mysql-server-core-5.1
* mysql-cluster-server-5.1
按着系统提示继续安装(之前就是用下面这个命令安装的,现在看来显然是安装失败了,但是当时安装时系统没有提示安装失败):
~$ sudo apt-get install mysql-server-core-5.1 mysql-cluster-server-5.1
…………………………………………
…………………………………………
正在读取软件包列表...完成
正在分析软件包的依赖关系树
正在读取状态信息...完成
有一些软件包无法被安装。如果您用的是unstable发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
mysql-server-core-5.1 :依赖: libmysqlclient16 (>= 5.1.21-1)但是它将不会被安装
E:破损的软件包
忽略“但是它将不会被安装E:破损的软件包”,按照系统提示安装ibmysqlclient16软件包:
~$ sudo apt-get install libmysqlclient16
安装成功。接着继续安装之前安装失败的软件包:
~$ sudo apt-get install mysql-server-core-5.1 mysql-cluster-server-5.1
…………………………………………
…………………………………………
正在读取软件包列表...完成
正在分析软件包的依赖关系树
正在读取状态信息...完成
有一些软件包无法被安装。如果您用的是unstable发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
mysql-cluster-server-5.1 :依赖: mysql-cluster-client-5.1但是它将不会被安装
E:破损的软件包
忽略“但是它将不会被安装E:破损的软件包”继续执行命令:
~$ sudo apt-get install mysql-cluster-server-5.1
…………………………………………
…………………………………………
正在解压缩mysql-cluster-server-5.1 (从.../mysql-cluster-server-5.1_7.0.9-1ubuntu10_i386.deb) ...
选中了曾被取消选择的软件包 postfix。
正在解压缩postfix (从.../postfix_2.7.1-1ubuntu0.2_i386.deb) ...
选中了曾被取消选择的软件包bsd-mailx。
正在解压缩bsd-mailx (从.../bsd-mailx_8.1.2-0.20100314cvs-1_i386.deb) ...
选中了曾被取消选择的软件包libhtml-template-perl。
正在解压缩libhtml-template-perl (从.../libhtml-template-perl_2.9-1_all.deb) ...
正在处理用于ureadahead的触发器...
ureadahead will be reprofiled on next reboot
正在处理用于man-db的触发器...
正在处理用于install-info的触发器...
正在处理用于ufw的触发器...
正在设置mysql-cluster-server-5.1 (7.0.9-1ubuntu10) ...
…………………………………………
…………………………………………
安装成功!
执行命令:
~$ mysql
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.39-ndb-7.0.9-1ubuntu10 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database|
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)
mysql> exit
Bye
至此MySQL已经安装成功,但是其中有很多细节还是不太明白(比如之前为什么没有安装成功,“它将不会被安装E:破损的软件包”是什么意思等等)。写这篇文章的目的只是提供一种解决办法,如果哪位高手有更好的解决办法,或者是知道我之前的问题出在哪里,欢迎指正。