在命令行下(此时不需要登录任何mysql账户)输入以下命令:
mysqldump -u -user -h host -p dbname [tbname,[tbname]]>filename.sql其中,user为用户名,host为主机名,dbname为数据库名,tbname为表明(不指定的话默认备份所有表),filename为存储到硬盘上的文件名。 示例:
mysqldump -u root -p testDb>D:/testDb.sql如果出现以下错误:
mysqldump: [ERROR] unknown option '--no-beep'则需要修改备份语句为:
mysqldump --no-defaults -u root -p testDb>D:/textDb.sql执行上述语句之后输入密码,则在对应的文件中可以看到该数据库的sql语句,其实质便是create和insert语句。 若是需要同时备份多个数据库,使用以下命令:
mysqldump -u root -h host -p --datebases [dbname [dbname]]>filename.sql注意数据库之间使用空格隔开,而不是逗号 示例:
mysqldump --no-defaults -u root -p --databases hibernate flower>D:/union.sql若是需要备份全部数据库,如下:
mysqldump --no-defaults -u root -p --all-databases>D:/all.sql这是直接复制data目录(windows平台)的文件,复制之前需要执行lock tables操作,接着执行flush tables操作,这样复制数据库目录中的文件时,允许其他客户继续查询表,需要flush tables来确保开始备份前将所有激活的索引写入硬盘。
缺点: 1、不适用InnoDB引擎的表; 2、版本不兼容;
命令语法格式:
mysqlhotcopy db_name1,db_name2 /path/to/new_directory缺点: 1、只能备份MyISAM类型的表; 2、不能移植到其他硬件或操作系统下。