MySql DB BackUp

时间:2013-11-11 10:06:42

标签: mysql mysqldump

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

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

它给出了错误,就像你在SQL语法中有错误。请帮助..

5 个答案:

答案 0 :(得分:1)

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

mysqldump -u username -ppassword db1 > backup.sql

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

答案 1 :(得分: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/

答案 2 :(得分:0)

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

喜欢这个

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

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

此外,如果您在Mysql中使用PORT,则必须定义类似

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

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

答案 3 :(得分:0)

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

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

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

mysqldump -u root -p --all-databases | gzip -9 > [alldb_backup.sql.gz]

答案 4 :(得分:0)

如果是整个数据库,那么:

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

如果是所有数据库,那么:

$ 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自动压缩输出(如果您的数据库非常大):

$ 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