Как вывести базу данных с помощью mysql (на сервере нет mysqldump) - PullRequest
3 голосов
/ 22 сентября 2009

Мне нужно вывести базу данных с общего хостинга, на котором почему-то не установлено mysqldump. На самом деле, у меня есть только mysql и mysqladmin из всего набора утилит MySQL.

Это выполнимо, или мне нужно прибегнуть к установке чего-то вроде phpMyAdmin?

Ответы [ 6 ]

2 голосов
/ 22 сентября 2009

Вы можете использовать следующие методы (из Резервные копии базы данных в документации)

Создание резервных копий путем копирования файлов

Таблицы MyISAM хранятся в виде файлов, поэтому легко выполнить резервное копирование путем копирования файлов. Чтобы получить согласованную резервную копию, выполните LOCK TABLES для соответствующих таблиц, а затем FLUSH TABLES для таблиц. Вам нужен только замок для чтения; это позволяет другим клиентам продолжать запрашивать таблицы, пока вы делаете копию файлов в каталоге базы данных. Инструкция FLUSH TABLES необходима для того, чтобы все активные страницы индекса были записаны на диск перед началом резервного копирования.

FLUSH TABLES WITH READ LOCK;

Закрывает все открытые таблицы и блокирует все таблицы для всех баз данных с блокировкой чтения, пока вы явно не снимите блокировку, выполнив UNLOCK TABLES. Это очень удобный способ получения резервных копий, если у вас есть файловая система, такая как Veritas, которая может делать моментальные снимки во времени.

UNLOCK TABLES;

Создание резервных копий текстовых файлов с разделителями

Чтобы создать текстовый файл, содержащий данные таблицы, вы можете использовать:

SELECT * INTO OUTFILE 'file_name' FROM tbl_name

Этот метод работает для любого типа файла данных, но сохраняет только данные таблицы, а не структуру таблицы.

Чтобы перезагрузить выходной файл, используйте "

LOAD DATA INFILE
0 голосов
/ 20 октября 2009

Maatkit кажется вполне подходящим для этого с mk-parallel-dump и mk-параллель-restore .

0 голосов
/ 03 октября 2009

В любом случае,

Мне пришлось прибегнуть к использованию Sypex dumper , веб-инструмента для быстрого (действительно быстрого, намного быстрее, например, phpMyAdmin) дампирования базы данных MySQL. Это на русском языке, но интерфейс довольно очевиден.

0 голосов
/ 22 сентября 2009

Вы можете подключиться к серверу удаленно с помощью mysqldump. Например:

mysqldump -u poweruser -h remote.mysql.host database 
0 голосов
/ 22 сентября 2009

Вы можете получить SQLYog . Для каждой базы данных имеется резервная копия базы данных в качестве опции SQL-дампа.

0 голосов
/ 22 сентября 2009

как насчет выключения сервера и копирования самого datadir?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...