Подтвердить что ты не робот

MySQL Дамп Все базы данных и создавать (или воссоздавать) их при импорте?

Мне было интересно, как я могу получить следующий файл,

mysqldump -h server -u root -p --all-databases > all_dbs.sql

автоматически создавать любые базы данных, которые еще не созданы при импорте. Кроме того, если база данных уже присутствует, она должна воссоздать ее (перезаписать старый).

Возможно ли это? Спасибо!

4b9b3361

Ответ 1

Export: mysqldump -u root -p --all-databases > all_dbs.sql
Import: mysql -u root -p < all_dbs.sql

Ответ 2

Экспорт

mysqldump -uroot -p --all-databases > alldb.sql

Посмотрите документацию для mysqldump. Вы можете использовать некоторые из вариантов, упомянутых в комментариях:

mysqldump -uroot -p --opt --all-databases > alldb.sql
mysqldump -uroot -p --all-databases --skip-lock-tables> alldb.sql

Импорт

mysql -u root -p < alldb.sql

Я нашел новое решение:

Создайте bash script. Он резервирует каждую базу данных в другой файл

#!/bin/bash

USER="zend"
PASSWORD=""
#OUTPUT="/Users/rabino/DBs"

#rm "$OUTPUTDIR/*gz" > /dev/null 2>&1

databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`

for db in $databases; do
    if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
        echo "Dumping database: $db"
        mysqldump -u $USER -p$PASSWORD --databases $db > `date +%Y%m%d`.$db.sql
       # gzip $OUTPUT/`date +%Y%m%d`.$db.sql
    fi
done

Ответ 3

не использовать команду "mysql" для экспорта данных. Вместо этого используйте "mysqldump".

Мне нужно управлять сервером, который сохраняет только:

\n

Exiting...

после выполнения "mysql --user = username --password = passord > somefile.sql"

Ответ 4

/Applications/MAMP/Library/bin/mysqldump -u root -p --all-database> all_dbs.sql