Мне пришлось перенести сайт drupal с Windows-машины, на которой запущен пакет xampp, на машину под управлением Linux (Ubuntu 10.04).
Я экспортировал базу данных в файл sql на исходном компьютере и воссоздал базу данных, используя файл на конечной машине. Кроме того, я скопировал папку своего веб-сайта из источника в пункт назначения. Я также сделал изменения имени хоста, имени пользователя и пароля в settings.php, чтобы отразить учетные данные mysql на конечном компьютере, но когда я пытаюсь получить доступ к сайту, я получаю сообщение "Ошибка подключения к mysql" .
Что здесь может быть не так?
Я бы начал и установил Drupal с нуля. Вы можете оставить все свои файлы в покое, но избавиться от сайтов /default/settings.php. Затем запустите файл /install.php script, чтобы вы знали, что получаете надлежащее соединение с БД. После того, как вы вернетесь на квадрат 1, попробуйте ввести свою прежнюю БД. Это PITA, но миграция сайтов Drupal имеет тенденцию быть.
Модуль Backup and Migrate может быть действительно полезен в таких ситуациях, как ваш. Попробуйте установить его на своем сайте разработчика, запустите резервную копию, а затем переустановите свой стажирующий сайт с нуля, установите backup_migrate и затем восстановите его.
Вы уверены, что используете правильный синтаксис $ db_url = 'mysqli://root: pass1 @localhost/drupaldb'
и у вас нет префикса config.. я переместил много db, и все они работали
.. вы уверены, что используете стандартный порт, и нет проблем с брандмауэром.
имя пользователя: password @host: port/databasename
SSH на ваш веб-сервер и
mysql -u username -h hostname -p
Можете ли вы соединиться с этим? Если это не работает, то это что-то с вашей конфигурацией сервера базы данных. Если это работает, то это что-то с вашей конфигурацией Drupal.
Что насчет
mysql -u username -h hostname -p databasename
Если это работает, попробуйте SHOW TABLES;
, чтобы увидеть, есть ли что-нибудь там.