0

如何使用 mysqldump 命令行实用程序对 mysql 数据库进行完整备份?我尝试了以下命令:

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

它给出了错误,例如您的 SQL 语法有错误。请帮助..

4

5 回答 5

1

像这样尝试 - (删除 -p 和密码之间的空格)

mysqldump -u username -ppassword db1 > backup.sql

欲了解更多信息:http ://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

于 2013-11-11T10:09:49.807 回答
0

备份:#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/

于 2013-11-11T10:10:24.640 回答
0

如果要进行COMPLETE备份,则需要添加 , --all-databases

像这样

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

请注意,-uUserName 和 -pPassword 之间不需要空格。

此外,如果您PORT在 Mysql 中使用 a ,则必须定义如下语法

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

这可确保所有存储过程也都转储到文件中。

于 2013-11-11T10:15:58.097 回答
0

您可以指定mysqldump将整个备份作为:

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

如果您认为转储文件太大,您也可以以 ZIP 格式导出:

mysqldump -u root -p --all-databases | gzip -9 > [alldb_backup.sql.gz]
于 2013-11-11T10:33:49.463 回答
0

如果它是一个完整的数据库,那么:

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

如果都是数据库,那么:

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

如果它是数据库中的特定表,则:

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

您甚至可以使用 gzip 自动压缩输出(如果您的数据库非常大):

$ 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
于 2013-11-11T10:34:45.297 回答