Ситуация: на удаленном сервере вашего клиента нужно (срочно) сделать дамп (располневшей на много-много мегабайт) базы данных MySQL. phpMyAdmin для этого не годится. При этом у вас есть доступ к удаленному серверу через SSH и конечно же имя пользователя и пароль к серверу MySQL.
Решение: использовать утилиту mysqldump, входящую, так сказать, в комплект поставки сервера баз данных MySQL. Запускаем mysqldump со следующими параметрами (обратите внимание: я разбил пример на две строки; в реальной ситуации должна быть одна строка):
mysqldump --user=mysql_user –password
–default-character-set=cp1251 database > ./database.cp1251.sql
После запуска mysqldump спросит пароль пользователя mysql_user для доступа к базе данных database и, если пароль указан верно, сделает дамп базы данных в файл ./database.cp1251.sql. Обратите внимание, что если убрать перенаправление вывода (знак > и все, что следует после него), то mysqldump выведет дамп на консоль.
Замечание. Параметр default-character-set позволяет указать используемую в базе данных кодировку. В этой же кодировке будут данные в файле с дампом.
Когда дамп базы готов, его можно скачать на свой компьютер (например, при помощи sshfs). Перед этим удобно зажать файл с дампом при помощи gzip? или bzip2?:
gzip ./database.cp1251.sql
или:
bzip2 ./database.cp1251.sql
Теперь обратная задача, импортировать данные из дампа в базу данных:
mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < backup/data.sql
Узнать больше о mysqldump можно в этом подробном руководстве.
Источник
Комментариев нет:
Отправить комментарий