Опубликовано пользователем goodigy
Дамп базы
Дамп базы можно снять и залить в phpmyadmin с помощью команд Импорт и Экспорт. Но почти на всех серверах стоит ограничение на размер файла, поэтому снять дамп, а тем более залить, невозможно. Выдается ошибка: вероятно, размер загружаемого файла слишком велик, или подобная. В таком случае нужно воспользоваться консолью. НУЖЕН ДОСТУП ПО ssh. С помощью консольной утилиты mysqldump можно снять дамп, не прилагая никаких усилий.
Команда выглядит так:
mysqldump -u имя_пользователя_базы -pпароль_без_пробела_после_p название базы_данных > путь_и_имя_файла_дампа.
Например,
для базы с параметрами:
имя пользователя базы - base;
пароль - 123456;
название базы данных - base;
путь и название дампа - /home/user/dump_base.sql
команда будет такой
mysqldump -u base -p123456 base > /home/user/dump.sql
Переходим к импорту. Для того чтобы импортировать(залить) дамп, можно воспользоваться одной простой командой
mysql -u имя_пользователя_базы -pпароль_без_пробела_после_p название база_данных < путь_и_имя_файла_дампа
Почти как в предыдущей команде.
Например,
для базы из предыдущего примера
mysql -u base -p123456 base < /home/user/dump.sql
Создание пользователя и базы
Чтобы в ручную завести базу данных и пользователя с доступом к ней надо:
mysql -u root -ppassword
CREATE DATABASE base;
CREATE USER base;
SET PASSWORD FOR moodle = PASSWORD("123456");
GRANT ALL PRIVILEGES ON base.* TO base@localhost IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
exit
Снять дамп всех баз в отдельные файлы
for i in `mysql -u root -ppassword -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -u root -ppassword $i > `date +%Y-%m-%d`-$i; gzip `date +%Y-%m-%d`-$i;done