Главная arrow Программирование arrow HTML arrow MySQL - как делать backup Thursday, July 27 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

MySQL - как делать backup Версия для печати
Написал microsin   
09.09.2007

Способ 1.
mysqldump --add-drop-table -u dbusername -p dbname > dump.sql
    или лучше просто...
# Внимание! Здесь username и userpass относятся не к MySQL,
#  это логин и пароль шелла
mysqldump --opt -Q -u username -p userpass dbname > dump.sql

// в следующем варианте принудительно выбирается 8-бит ANSI-кодировка
//  символов, поскольку на MySQL-сервере по умолчанию может быть
//  включена другая кодировка, например неудобная двухбайтная UTF-8
//  (у меня так стало на хостинге Агава при переходе на MySQL версии 4.1.22)
mysqldump --user=dbusername --password=dbpass --default-character-set=cp1251 dbname > dump.txt

При использовании кронтаба для бэкапа, нужно в скриптах указывать полный путь до mysqldump:
# так неправильно:
mysqldump --opt -Q -u username -p userpass dbname > dump.sql
# а так правильно:
/usr/local/bin/mysqldump --opt -Q -u username -p userpass dbname > dump.sql

Способ 2.
Статья http://www.codenet.ru/db/mysql/MySql-Backup.php
//backup
mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME > dump.txt
//restore
mysql -uLOGIN -PPORT -hHOST -pPASS DBNAME < dump.txt

Способ 3, использование PHP для backup.
Cтатья http://www.php-mysql-tutorial.com/perform-mysql-backup-php.php, "Using PHP To Backup MySQL Database"
There are at least three ways to backup your MySQL Database :
1. Execute a database backup query from PHP file.
2. Run mysqldump using system() function.
3. Use phpMyAdmin to do the backup.
 
1.
Execute a database backup query from PHP file
Below is an example of using SELECT INTO OUTFILE query for creating table backup :
<?php
include 'config.php';
include 'opendb.php';
$tableName  = 'mypet';
$backupFile = 'backup/mypet.sql';
$query      = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);
include 'closedb.php';
?>

To restore the backup you just need to run LOAD DATA INFILE query like this :
<?php
include 'config.php';
include 'opendb.php';
$tableName  = 'mypet';
$backupFile = 'mypet.sql';
$query      = "LOAD DATA INFILE 'backupFile' INTO TABLE $tableName";
$result = mysql_query($query);
include 'closedb.php';
?>
It's a good idea to name the backup file as tablename.sql so you'll know from which table the backup file is

2.
Run mysqldump using system() function
The system() function is used to execute an external program. Because MySQL already have built in tool for creating MySQL database backup (mysqldump) let's use it from our PHP script
<?php
include 'config.php';
include 'opendb.php';
$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz';
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
system($command);
include 'closedb.php';
?>
 
3.
Use phpMyAdmin to do the backup
This option as you may guessed doesn't involve any programming on your part. However I think i mention it anyway so you know more options to backup your database.
To backup your MySQL database using phpMyAdmin click on the "export" link on phpMyAdmin main page. Choose the database you wish to backup, check the appropriate SQL options and enter the name for the backup file.

Как посмотреть, какие есть базы MySQL на сервере
mysql -u username(обычно root) -h localhost -p -Bse 'show databases'

Способ 4. См. статью Joomla: заметки по использованию, п. 9.

 

Последнее обновление ( 08.01.2008 )
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017