mysql: создание бэкапа базы данных

19/12/2022

Создание дампа без определенных таблиц

mysqldump -u root -p  --ignore-table=db_name.table_1 db_name > dump.sql

Создание дампа всех баз данных MySQL-сервера

С:\mysql\bin>mysqldump -u root -p --all-databases > all-databases.sql

Так-же есть возможность создавать дампы, только необходимых таблиц, определенной базы данных:

С:\mysql\bin>mysqldump -u dbadmin -pdbadminpass --no-data -B dbname --tables table1 table2 > ./tables-nodata.sql

Создаем бэкап и архивируем его с помощью gzip:

mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/backup_file.sql.gz

Восстановление базы данных из бэкапа

С:\mysql\bin>mysql -u dbadmin -pdbadminpass test < table.sql

Восстановление базы данных из бэкапа в gzip

gunzip < db.gz | mysql -u dbadmin -p dbadminpass db_name

Запрос, выводящий список таблиц в базе данных

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);
while ($row = mysql_fetch_row($result)) {
    echo "Таблица: {$row[0]}\n";
}

Скрипт, который делает бэкап всех баз данных mysql на сервере

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

Теги - Mysql