Я пытаюсь получить локальную установку LAMP на моем рабочем столе Ubuntu. Я успешно установил PHP, но у меня проблемы с MySQL
Если PHP пытается подключиться к 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, e.g. /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, большинство из этих команд, которые я запускал, я нашел в различных блогах и справочных форумах.
Не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock'
Похоже, вы делаете что-то вроде ...
mysql_connect('localhost'....
Клиентская библиотека mysql, когда видит 'localhost', не беспокоит создание сетевого соединения - она использует сокет локального файла (unix). Чтобы найти этот сокет, он должен проверить настройку php.ini или использовать значение в my.cnf, или, если это не так, скомпилировать по умолчанию (я).
Убедитесь, что mysql запущен
ps auxwww | grep mysqld
Проверьте его прослушивание в сетевом сокете:
netstats -nap
Вышеупомянутое также должно показать, какой файловый сокет он прослушивает.
Предполагая, что это установка по умолчанию (т.е. прослушивание сетевого порта и без пароля root), вы должны иметь возможность подключиться к сетевому сокету, используя
mysql -u root -h 127.0.0.1
Затем покажите такие переменные, как "% sock%"
также покажет вам, где находится сокет файловой системы.
Обновите настройки php.ini, например
mysql.default_socket = /var/lib/mysql/mysql.sock
и перезапустите свой веб-сервер.
У меня такая же проблема с коробкой. Попробуйте бежать mysql -h 127.0.0.1
для подключения через tcp / ip вместо сокета.
Успех! Наконец-то я заставил 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
Спасибо за вашу помощь, ребята.