[FAQ]: как сделать бэкап MySQL, используя ssh доступ

Темы по наиболее часто задаваемым вопросам по phpBB 2.0.x. Читать в первую очередь!

[FAQ]: как сделать бэкап MySQL, используя ssh доступ

Сообщение crash 09.03.2007 8:21

Делать бэкап и восстановление форума, выполнять различные sql команды можно с помощью командной строки, shell (ssh) доступ, если хостер предоставляет эту услугу.
Shell доступ можно организовать с помощью программы putty, качать здесь или другой программой поддерживающей ssh протокол.
Putty не требует инсталяции. После ее запуска вводим имя сервера или его ip и жмем кнопку "Open". При соединении спросит логин и пароль, который вы должны ввести и который получаете от хостера.
Если все прошло удачно, то мы подключились к серверу.

Для подключения к MySQL серверу даем команду:
Код: Выделить всё
mysql -h hostname -u username -ppassword databasename

hostname - имя сервера где находится mysql сервер, например localhost
username - имя пользователя для соединения с БД. Задается при создании базы или выдает хостер.
password - пароль для пользователя, который соединяется с БД. Прошу заметить что пароль пишется без пробела после р.
databasename - название базы данных.
Так как речь идет о флоуме, то все данные можно взять в файле config.php.
Например, хост с БД у нас имеет имя database, пользователь crash, пароль 123 и имя базы phpbb, тогда команда для подключения к базе имеет вид:
mysql -h database -u crash -p123 phpbb

Для того чтобы сделать дамп БД:
Код: Выделить всё
mysqldump --all --add-drop-table -h hostname -u username -ppassword databasename >dump.sql

Файл дампа будет у нас иметь значение dump.sql, который мы скачаем по ftp.
Возьмем для примера те же данные:
mysqldump --all --add-drop-table -h database -u crash -p123 phpbb >dump.sql

Для того чтобы восстановить БД:
Код: Выделить всё
mysql -h hostname -u username -ppassword databasename <dump.sql

Файл дампа будет у нас иметь значение dump.sql, который мы закачаем по ftp.
Возьмем для примера те же данные:
mysql -h database -u crash -p123 phpbb <dump.sql
или так:
cat dump.sql | mysql -h database -u crash -p123 phpbb
или если у вас файл сжат gzip, то одним из способов:
gzcat dump.sql.gz | mysql -h database -u crash -p123 phpbb
zcat dump.sql.gz | mysql -h database -u crash -p123 phpbb
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Support Team Leader
 
Сообщения: 6403
Зарегистрирован: 07.07.2004 17:12
Откуда: Мирный

Сообщение Master of Tragedy 02.04.2008 1:27

Восстановление из бэкапа:
Код: Выделить всё
mysql --user=пользователь --host=узел \
--port=порт --password=пароль \
имя_базы_данных <имя_файла.sql
Ce grand malheur de ne pouvoir etre seul...
Аватара пользователя
Master of Tragedy
phpBB 2.0.1
 
Сообщения: 144
Зарегистрирован: 04.08.2007 22:37

Сообщение Rayden 02.04.2008 2:20

На самом деле в реальной ситуации синтаксис еще проще.
Обычно у хостера сделано так, по ssh коннектимся под тем же пользователем, что и к базе, а база доступна по локалхосту. Тогда бекап выглядит так:

mysqldump -pПАРОЛЬ ИМЯБАЗЫ > ИМЯФАЙЛА

если пароль не прописывать:

mysqldump -p ИМЯБАЗЫ > ИМЯФАЙЛА

то программа его спросит

восстанавливаем аналогично:

mysql -pПАРОЛЬ ИМЯБАЗЫ < ИМЯФАЙЛА

но стрелочка в другую сторону. Стрелочка показывает, куда данные двигаются, из базы в файл или из файла в базу.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 2610
Зарегистрирован: 27.06.2005 1:07

Сообщение crash 02.04.2008 2:57

Master of Tragedy писал(а):Восстановление из бэкапа:

а разве у меня не написано восстановление из бэкапа?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Support Team Leader
 
Сообщения: 6403
Зарегистрирован: 07.07.2004 17:12
Откуда: Мирный


Вернуться в FAQ (phpBB 2.0.x)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0