Когда я пытаюсь подключиться к моим базам данных, я получаю эту ошибку:
Lost connection to MySQL server at 'reading initial communication packet', system error:111
Вот мой PHP-код (это всего лишь тест):
<?php @session_start(); include(".conf.php"); print_r($conf); $con = mysql_connect($conf['db_hostname'], $conf['db_username'], $conf['db_password']) or die (mysql_error()); mysql_select_db("aTableName", $con); $prof = '000'; //$prof = $_GET['profile']; $prof = addslashes(htmlentities($prof)); $result = "SELECT * FROM aTableName WHERE id = '$prof'"; $q = mysql_query($result, $con); $qarr = mysql_fetch_array($q); print_r($qarr); ?>
в<?php @session_start(); include(".conf.php"); print_r($conf); $con = mysql_connect($conf['db_hostname'], $conf['db_username'], $conf['db_password']) or die (mysql_error()); mysql_select_db("aTableName", $con); $prof = '000'; //$prof = $_GET['profile']; $prof = addslashes(htmlentities($prof)); $result = "SELECT * FROM aTableName WHERE id = '$prof'"; $q = mysql_query($result, $con); $qarr = mysql_fetch_array($q); print_r($qarr); ?>
Любая помощь будет оценена по достоинству. Я не могу понять это, и это действительно раздражает меня. Спасибо!
EDIT: Я хостинг на GoDaddy, хостинг и базы данных.
Ваш хост ошибочен, ваш порт неверен, брандмауэр заблокировал соединение или сервер SQL не запущен. 111 «отказ от связи». Вы можете устранить проблему, попробовав telnet
на хост и порт SQL-сервера. Если это сработает, ваш код неправильно приведет к хосту или порту.
Если это не сработает, проверьте сам SQL-сервер. Если он там работает, проблема в сети. Если он там не работает, SQL-сервер не запущен.
Проверьте файл my.cnf. Вероятно, он позволяет подключиться к localhost, но ваш conf.php, безусловно, пытается подключиться к вашему IP или 127.0.0.1. Попробуйте с localhost и, если он работает, и вы хотите, чтобы он вел себя по-другому, отредактируйте файл my.cnf в директиве bind-address (изменив его на ваш IP-адрес или до 127.0.0.1, возможно, или комментируя строку так привязка не выполняется).
В любом случае, когда вы подключаетесь к mysql с «localhost», он использует сокет вместо TCP-соединения, следовательно, он, вероятно,
У меня была такая же ошибка. Я пытался получить доступ к базе данных mysql на сервере 192.168.0.4 с клиентского компьютера 192.168.0.47. Когда я зашел в /etc/mysql/my.cnf, изменил адрес привязки = 192.168.0.4 (и прокомментировал 127.0.0.1) и перезагрузил машину, сообщение об ошибке исчезло.
В моем случае у меня есть datadir = / media / sdc1 / mysql, и диск не был установлен. i Перезагрузка и перезагрузка mysql
В моем случае диск заполнен. Вам необходимо удалить любые ненужные файлы.
Если вы удалили, вам нужно перезапустить mysqld.
Например: sudo service mysqld restart