Работа с MySQL

Дамп базы

Дамп базы можно снять и залить в 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 

E-mail для связи: goodigy@goodigy.ru