Как импортировать БД без phpMyAdmin и консоли
Опубликовано: 06.09.2018
Странно, но некоторых такая задача вводит в тупик. А ведь для импорта базы данных MySQL достаточно FTP-доступа и интерпретатора PHP, который есть практически на любом хостинге.
Импорт большой базы данных
Конечно, владельцам сайтов сложно представить такую дикую ситуацию. А вот фрилансеры очень даже часто оказываются в таком положении, когда проще применить какой-то лайфхак, чем объяснять заказчику все нюансы, выносить ему мозг сложной терминологией.
Итак, если нужно импортировать дамп базы MySQL, а доступа к панели управления хостингом нет — не беда. Можно обойтись без phpMyAdmin, без SSH, и даже не придётся устанавливать никакого дополнительно софта. Мне приходилось видеть как некоторые в таких случаях использовали Sypex Dumper , про который я года три назад рассказывал в статье про обход ограничений phpMyAdmin при импорте больших баз данных MySQL .
MyArena.ru | Web-Хостинг, База данных, Phpmyadmin
Всё очень просто, задача решается небольшим PHP-скриптом.
Подключаемся к серверу по FTP и создаём файл. Назовём его import.php , например. Копируем в него этот код и меняем все переменные на свои. Чтобы не заморачиваться с путями, в эту же директорию закачиваем и дамп БД, который будем импортировать.
<?php $filename = 'dump.sql'; // Имя файла дампа $mysql_host = 'localhost'; // Адрес сервера MySQL $mysql_username = 'root'; // Имя пользователя MySQL $mysql_password = 'password'; // Пароль MySQL $mysql_database = 'base'; // Имя БД mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error()); mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error()); $templine = ''; $lines = file($filename); foreach ($lines as $line){ if (substr($line, 0, 2) == '--' || $line == '') continue; $templine .= $line; if (substr(trim($line), -1, 1) == ';'){ mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . ' '); $templine = ''; } } echo "Таблицы успешно импортированы"; ?>Если возникнут проблемы с кодировкой, её нужно задать принудительно. Например, для UTF-8 перед mysql_query($templine) можно добавить такие строки:
mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");Открываем браузер, в адресной строке вводим URL созданного файла и запускам его. Если всё сделано правильно, дамп импортируется в БД.
Всё самое новое и интересное я публикую в своём Телеграм-канале . Подписывайтесь!
Сегодня | Завтра | ||
USD | 32.62 | 32.50 | |
EUR | 39.90 | 39.92 |
Обменник | Переходов |
Wmchanger | 6 |
E-Market | 5 |
WMtoCash.com | 4 |
Str-Money | 3 |
Hot-Change | 3 |
Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки | |
Кошелек
|
|
Код
|
|
Обмен Webmoney |