我试图让我的Ubuntu桌面上的本地LAMP设置。 我成功地获得了PHP安装,但是我遇到了MySQL的麻烦
如果PHP试图connet到MySQL我得到这个错误:
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/testing.php on line 3 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
如果我通过命令行尝试,我得到了很多相同的错误:
owen@desktop:~$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)
奇怪“/ var / run / mysqld”不存在。
运行一个whereis命令我得到以下内容:
owen@desktop:~$ whereis mysqld.sock
mysqld: /usr/sbin/mysqld /usr/share/man/man8/mysqld.8.gz
那么MySQL是否安装? 那么根据dpkg
owen@desktop:~$ dpkg -l | grep mysql
ii libapache2-mod-auth-mysql 4.3.9-13ubuntu1 Apache 2 module for MySQL authentication
ii libdbd-mysql-perl 4.016-1 Perl5 database interface to the MySQL database
ii libmysqlclient15off 5.1.30really5.0.83-0ubuntu3 MySQL database client library
ii libmysqlclient16 5.1.49-1ubuntu8.1 MySQL database client library
ii mysql-admin 5.0r14+openSUSE-2.1 GUI tool for intuitive MySQL administration
ii mysql-client-5.1 5.1.49-1ubuntu8.1 MySQL database client binaries
ii mysql-client-core-5.1 5.1.49-1ubuntu8.1 MySQL database core client binaries
ii mysql-common 5.1.49-1ubuntu8.1 MySQL database common files, eg /etc/mysql/my.cnf
ii mysql-gui-tools-common 5.0r14+openSUSE-2.1 Architecture independent files for MySQL GUI Tools
ii mysql-query-browser 5.0r14+openSUSE-2.1 Official GUI tool to query MySQL database
ii mysql-server 5.1.49-1ubuntu8.1 MySQL database server (metapackage depending on the latest version)
ii mysql-server-5.1 5.1.49-1ubuntu8.1 MySQL database server binaries and system database setup
ii mysql-server-core-5.0 5.1.30really5.0.83-0ubuntu3 MySQL database core server files
ii mysql-server-core-5.1 5.1.49-1ubuntu8.1 MySQL database server binaries
ii php5-mysql
有人可以请帮助我真的很困惑,接下来做什么。 我不是一个Linux专家,我运行的这些命令大部分都是由不同的博客和帮助论坛发现的。
无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地MySQL服务器
听起来像你正在做类似…..
mysql_connect('localhost'....
mysql客户端lib在看到'localhost'时不会打扰networking连接 – 它使用本地文件(unix)套接字。 为了find这个套接字,它应该检查php.ini的设置,或者使用my.cnf中的值,或者在缺省情况下编译失败的值。
检查mysql正在运行
ps auxwww | grep mysqld
检查它在networking套接字上的侦听:
netstats -nap
上面还应该显示它正在监听的文件套接字。
假设这是一个默认安装(即侦听networking端口并且没有root密码),您应该能够使用networking套接字连接
mysql -u root -h 127.0.0.1
然后显示像'%sock%'
也会告诉你文件系统套接字在哪里。
更新你的php.ini设置,例如
mysql.default_socket = /var/lib/mysql/mysql.sock
并重新启动您的networking服务器
我的箱子上有同样的问题。 尝试运行mysql -h 127.0.0.1
通过tcp / ip而不是socket连接。
成功! 我终于通过运行我在类似的论坛上发现的命令来运行MySQL: http : //ubuntuforums.org/showthread.php?t=1373144
sudo mysql_install_db
sudo /etc/init.d/mysql start
sudo dpkg-reconfigure mysql-server-5.1
感谢所有的帮助人。