Как импортировать большую базу в MySQL

Многим web-разработчикам давно известно, что импортировать базу данных MySQL, которая больше 2 Мб, удобным инструментом phpmyadmin – нельзя. У него есть подлое ограничение, которое не позволяет сделать импорт большой базы данных. Есть GZIP-сжатие, но чаще всего и его бывает недостаточно.

Самый надежный способ импортировать большую MySQL-базу – это сделать импорт непосредственно на самом сервере.

В своей работе я, используя для разработки сайта любую CMS для интернет магазина, всегда сталкиваюсь с проблемой переноса уже готового интернет-магазина с тестовой площадки, на боевой сервер. В 99% случаев, сжатая база всегда больше 2Мб. Поэтому актуальность проблемы выше среднего.

Предположим, что база данных уже выгружена в файл ✳.sql, к примеру base.sql.

Этот файл нужно перенести на сервер через FTP-клиент или другой файловый менеджер с такой возможностью. К примеру, благополучно мы его перенесли и положили вот сюда – /home/user/.

Непосредственно, перед процессом импортирования, нам нужно подключиться к нашему серверу любым удобным способом. У меня сервера все на Linux, поэтому мне проще подключаться к ним через SSH.

Команда для подключения:

ssh root@ip-адрес_сервера

После чего набираем пароль пользователя root. Мы на сервре.

Импортирование большой базы данных MySQL

Сама команда импорта выглядит так:

mysql -h ip-сервера -u имя_пользователя -p имя_базы_данных < /путь_до_базы/base.sql

Если сам сервер MySQL находится на той же машине, что и файлы сайта, команду можно немного сократить. Нужная мне команда выглядит так:

mysql -u root -p base < /home/user/base.sql

Кодировка базы данных

Стоит иметь в виду, что стандартная кодировка для MySQL – это UTF-8, поэтому если у Вас кодировка, импортируемой базы данных, виндовая – CP1251, то стоит до импорта ее перекодировать в правильную.

Для этого есть команда iconv:

iconv -f CP1251 -t UTF-8 /home/user/base.sql > /home/user/base.utf8.sql

Как видите все просто.

Комментарии:

Имя
e-mail
Сайт
Текст комментария: