Соединение с базой данных Ошибка чтения пакетов связи - PullRequest
1 голос
/ 06 октября 2019

Я перенес базу данных из cPanel в cPanel с помощью инструмента резервного копирования, но проблема заключается в том, что всякий раз, когда я пытаюсь подключиться к этой базе данных, например, используя этот php-код TEST

<?php
# Fill our vars and run on cli
# $ php -f db-connect-test.php
$dbname = 'imadoulh_test';
$dbuser = 'xxxxx';
$dbpass = 'xxxxx';
$dbhost = 'localhost';
$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
mysql_select_db($dbname) or die("Could not open the db '$dbname'");
$test_query = "SHOW TABLES FROM $dbname";
$result = mysql_query($test_query);
$tblCnt = 0;
while($tbl = mysql_fetch_array($result)) {
  $tblCnt++;
  #echo $tbl[0]."<br />\n";
}
if (!$tblCnt) {
  echo "There are no tables<br />\n";
} else {
  echo "There are $tblCnt tables<br />\n";
}

, ответ равен Эта страница не работает с HTTP ERROR 500 и в журнале MySQL написано Произошла ошибка при чтении пакетов связи

Я пробовал много способов исправитьэто но к сожалению. Вот что я попробовал: 1. оптимизировать и исправить таблицы 2. добавить код в файл /etc/my.conf, например

     max_allowed_packet=2684354569944
     open_files_limit=10000
     default-storage-engine=MyISAM
     innodb_file_per_table=1
     default_authentication_plugin=mysql_native_password

, относящийся к этой статье: https://dba.stackexchange.com/questions/19135/mysql-error-reading-communication-packets

1 Ответ

0 голосов
/ 06 октября 2019

Ошибка 500 от http означает, что вашей веб-программе - вашей программе php - не удалось отправить эту страницу. Но 500 ничего не могут сказать нам о , почему не удалось. Итак, двигаясь дальше ... Вы, похоже, получаете ошибки связи между php и mysql.

Я считаю, что ключевыми словами в вашем вопросе являются from cPanel to cPanel. Это говорит о том, что вы переносите свое приложение с сервера на сервер и, возможно, даже с хостинг-провайдера на хостинг-провайдера.

Вы импортировали данные MySQL из резервных копий на новый сервер с другим IP-адресом. Итак, теперь у вас есть два разных экземпляра базы данных. И, возможно, у вас есть два разных экземпляра вашей php-программы.

Итак, теперь вы решаете следующие вопросы:

  • Может ли мой новый php-код поговорить с моим новымсервер базы данных? По вашему вопросу трудно сказать, является ли ответ «нет» или «иногда, но ненадежно».

  • Работает ли мой новый php-код у того же поставщика хостинга, что и его база данных MySQL? У сетевого инженера Линго вопрос заключается в том, «находятся ли они в одной сети ЦОД?»

  • Есть ли шанс, что я пытаюсь получить доступ к новой базе данных из старого кода или старогобаза данных из нового кода?

Некоторые (но не все) специалисты службы технической поддержки хостинговых компаний знают об этом. Обратитесь за помощью, но убедитесь, что первые два слова у вас во рту - «Я мигрирую», чтобы они знали, что это новый клиент и проблема с единовременной настройкой.

...