- Подробности
-
Категория: PHP. Базы данных
Создание SQL-дампа
SQL-дамп — это текстовой файл с SQL-запросами, выполнение которых воссоздает базу данных. Основным инструментом для создания SQL-дампов в MySQL является утилита mysqldump. Для того, чтобы создать резервную копию базы данных base надо выполнить команду
C:mysqlbin> mysqldump -u root base > base.sql
Как видите, утилита mysqldump принимает имя пользователя при помощи параметра -u. Если учетная запись защищена паролем, следует добавить параметр -p. После всех параметров указывается имя базы данных, для которой производится создание дампа. Так как вывод данных осуществляется в стандартный поток (за которым по умолчанию закреплен монитор), его следует перенаправить в файл (в нашем случае это base.sql). Перенаправление данных осуществляется при помощи оператора >. Если вместо оператора > использовать >>, то данные не будут перезаписывать уже существующий файл, а будут добавлены в конец файла.
При помощи параметра –databases (в сокращенной форме -B) можно создать дамп сразу нескольких баз данных, которые перечисляются через пробел:
C:mysqlbin> mysqldump -u root -B base mysql > base_mysql.sql
Так мы сохраняем дампы баз данных base и mysql в файл base_mysql.sql.
Если необходимо сохранить дамп всех баз данных MySQL-сервера, следует воспользоваться параметром –all-databases или в сокращенной форме -A:
C:mysqlbin> mysqldump -u root --all-databases > all_databases.sql
Развернуть SQL-дамп на другом сервере можно при помощи утилиты mysql в пакетном режиме.
mysql -u root test < base.sql
Здесь данные из дампа base.sql перенаправляются на стандартный вход утилиты mysql, которая размещает таблицы базы данных base в базе данных test.
Ссылки по теме:
Создание резервной копии БД MySQL
Скрипт для резервного копирования БД MySQL
Рубрика: MySQL Отзывы (RSS) Трекбек
Комментариев: 3
Gairon:
Напиши ёще, что для случая если пароль для пользователя не пустой — надо указывать в команде параметр “пароль”.
Для скидывания дампа:
C:mysqlbin> mysqldump -u root -p pass -B base mysql > base_mysql.sql
C:mysqlbin> mysqldump -u root -p pass –all-databases > all_databases.sql
Для загрузки:
C:mysqlbin> mysql -u root -p pass test < base.sql
Где pass — пароль для пользователя root.