使用mysqldump备份MySQL数据库

一般情况下,主机管理面板都会提供PHPMyAdmin等管理工具,方便管理MySQLMariaDB数据库。但是由于PHP运行时间的限制,在导入导出较大的数据库的时候,容易超时而出错,这时候学点命令行工具导入导出就很有必要了。今天给大家介绍一下mysqldump这个工具。

mysqldump是mysql自带的逻辑备份工具,虽然在性能上不及物理备份工具xtrabackup,但操作大小在几个G的mysql数据库还是绰绰有余的,很适合博客、小网站的备份。

常用案例

mysqldump 导入导出数据库示例

备份wker数据库到当前目录:

mysqldump -u root -p wker > wker.sql

备份wker数据库的表结构到当前目录:

mysqldump -u root -p -d wker > wker.sql

备份wker数据库的数据到当前目录:

mysqldump -u root -p -t wker > wker.sql

备份wker数据库到当前目录,并进行gzip压缩:

mysqldump -u root -p wker  | gzip > wker.sql.gz

还原当前目录下的wker.sql到wker数据库:

mysql -u root -p wker < wker.sql

常见参数

请注意,参数区分大小写。

-h--host:指定主机信息。

-u--user:指定连接的用户名。

-p--password:连接数据库密码。

-P--port:连接数据库端口号

-d--no-data:不导出任何数据,只导出数据库表结构。

-t--no-create-info:只导出数据,而不添加CREATE TABLE 语句。

-n--no-create-db:只导出数据,而不添加CREATE DATABASE 语句。

--single-transaction:适合innodb事务数据库的备份。

--default-character-set:设置默认字符集。

-C--compress:在客户端和服务器之间启用压缩传递所有数据。

-A--all-databases:导出全部数据库。

--add-drop-database:每个数据库创建之前添加drop数据库语句。

--add-drop-table:每个数据表创建之前添加drop数据表语句。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>