MySql DB BackUp

Как да направите пълно архивиране на базата данни mysql с помощта на помощната програма за команден ред mysqldump? Опитах следната команда:

mysqldump -u username -p password db1 > backup.sql

Даде грешка като Имате грешка във вашия SQL синтаксис. Моля, помогнете..


person user2936112    schedule 11.11.2013    source източник
comment
Опитайте това .. mysqldump -u потребителско име -ppassword db1 › backup.sql   -  person Siraj Khan    schedule 11.11.2013
comment
Работи ли някое решение?   -  person Mad Dog Tannen    schedule 24.11.2013


Отговори (5)


резервно копие: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

възстановяване: # mysql -u root -p[root_password] [database_name] < dumpfilename.sql

Справка: http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/

person Krish R    schedule 11.11.2013

опитайте така- (премахнете интервала между -p и паролата)

mysqldump -u username -ppassword db1 > backup.sql

За повече информация: http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

person Suresh Kamrushi    schedule 11.11.2013
comment
Нямате нужда от интервали след -u и -p. Освен това трябва да се добавят още някои опции, ако трябва да се направи пълен дъмп. - person Mad Dog Tannen; 11.11.2013

Можете да посочите mysqldump да вземе цялото архивиране като:

mysqldump -u root -p --all-databases > alldb_backup.sql

и ако смятате, че размерът на дъмп файла е твърде голям, можете да експортирате и в ZIP формат:

mysqldump -u root -p --all-databases | gzip -9 > [alldb_backup.sql.gz]
person Mahesh Patil    schedule 11.11.2013

Ако това е цяла DB, тогава:

$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql

Ако всичко е DB, тогава:

$ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql

Ако това са конкретни таблици в рамките на DB, тогава:

$ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql

Можете дори да стигнете до автоматично компресиране на изхода с gzip (ако вашата DB е много голяма):

$ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz

Ако искате да направите това дистанционно и имате достъп до въпросния сървър, тогава ще работи следното (ако приемем, че MySQL сървърът е на порт 3306):

$ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql
person Sathish D    schedule 11.11.2013

Ако искате да направите COMPLETE резервно копие, трябва да добавите , --all-databases.

Като този

mysqldump -uUserName -ppassword --all-databases --routines > "fulldatabase.sql"

Имайте предвид, че нямате нужда от интервали между -uUserName и -pPassword.

Освен това, ако използвате PORT в Mysql, трябва да дефинирате синтаксиса по този начин

mysqldump -uUserName --password=password -P yourportnumber --all-databases 
--routines > "fulldatabase.sql"

Това гарантира, че всички съхранени процедури също се изхвърлят във файла.

person Mad Dog Tannen    schedule 11.11.2013