http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Главная Новости

Как импортировать БД без phpMyAdmin и консоли

Опубликовано: 06.09.2018

видео Как импортировать БД без phpMyAdmin и консоли

How to Import Large MySQL Database (.sql) file to phpmyadmin using WAMP server

Странно, но некоторых такая задача вводит в тупик. А ведь для импорта базы данных 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 созданного файла и запускам его. Если всё сделано правильно, дамп импортируется в БД.

Всё самое новое и интересное я публикую в своём Телеграм-канале . Подписывайтесь!

Карта
rss