Как импортировать большую базу в MySQL
Многим web-разработчикам давно известно, что импортировать базу данных MySQL, которая больше 2 Мб, удобным инструментом phpmyadmin – нельзя. У него есть подлое ограничение, которое не позволяет сделать импорт большой базы данных. Есть GZIP-сжатие, но чаще всего и его бывает недостаточно.
Самый надежный способ импортировать большую MySQL-базу – это сделать импорт непосредственно на самом сервере.
Предположим, что база данных уже выгружена в файл ✳.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
Как видите все просто.
Теги: MySQL