使用mysqldump 备份mysql数据库示例

时间:2020-07-27 12:59:07  来源:igfitidea点击:

Linux mysqldump命令是MySQL客户端用于备份MySQL/MariaDB数据库。
通常mysqldump命令用来将mysql数据库导出为文本文件作为备份,但它有几个其他选项。
例如,我们可以使用mysqldump命令从一个数据库到另一个数据库的表备份表,或者我们可以将数据库从一个mysql服务器备份到另一个数据库。

mysqldump命令选项

两个最重要的命令选项是-p(密码)和-u(username)选项。

--password [= password],-p [password]

-p选项用于指定连接到MySQL/MariaDB服务器时要使用的密码。

mysqldump -p'password' database_name > backup-file-name

或者

mysqldump --password=password database > backup-file-name

如果在命令行上省略-p选项后面的密码值,请提示密码。

--user = user_name,-u user_name

备份数据库时要使用的MySQL用户名。
选项-u是可选的,如果我们未使用-u选项,MySqldump将使用Linux用户名作为MySQL用户名。

mysqldump -p'password' -u username  database > backup-file-name

备份单个数据库

mysqldump命令的最常见用法是将单个数据库备份到文本文件。

mysqldump -p'password' -u username  database > backup-file-name

例子

mysqldump -u root -p example_database > example_database.sql

如上例,MySQLDUMP命令将example_database备份到example_database.sql文件。
我们使用root作为用户名连接到MySQL服务器。

备份多个数据库

命令选项--databases用于指定要备份的多个数据库。

mysqldump -p'password' --databases database1 database2 database3 > database_backup.sql

上面的示例将备份所有三个数据库到Database_Backup.sql文件。

备份所有数据库

我们可以使用--all-databases选项来备份MySQL/MariaDB服务器中的所有数据库。

例子

mysqldump -p'password' --all-databases > all_databases.sql

上面的示例将备份MySQL Server中的所有数据库到all_databases.sql文件。

从数据库备份一个或者多个表

我们还可以指定我们想要导出的表,而不是备份整个MySQL数据库。
为此,我们在数据库名称后指定一个或者多个表名。

例子

mysqldump -p example_database table1 table2 > example_database.sql

根据上面的示例,MySqldump命令将备份“example_database”数据库的“table1”和“table2”。

从MySqldump排除特定表格

转储数据库时,可以使用-ignore-table选项来排除特定表。
必须使用数据库和表名称指定表的名称。

例子

mysqldump -p --ignore-table=example_db.table1 example_db > example_db.sql

要忽略多个表,请多次使用--ignore-table选项。

mysqldump -p --ignore-table=example_db.table1 --ignore-table=example_db.table2 example_db > example_db.sql

来自远程MySQL Server的备份数据库

我们可以使用-h选项mysqldump命令从远程MySQL服务器备份数据库。

例子

mysqldump -p -u username -h 192.168.1.20 example_db > example_db.sql

MySQLDUMP命令将从位于192.168.1.20的MySQL Server备份example_db。

备份数据库到另一个数据库

我们可以通过将mysqldump的输出管道向MySQL命令将MySQL数据库备份到另一个数据库来备份MySQL数据库。

例1

mysqldump -p'password' database1 | mysql -p'password' database2

根据上面的示例,Database1将备份到数据库2.

例2.

mysqldump -p'password' database1 table1 table2 | mysql -p'password' database2

根据上面的示例,Database1的Table1和Table2将备份到数据库2.

备份mysql数据库到另一个MySQL服务器

我们可以使用-h选项mysql命令将不同的mysql服务器指定为备份目标。

例子

mysqldump -p'password' database1 | mysql -p'password' -u username -h 192.168.1.20 database1

根据上面的示例,本地MySQL Server的Database1将备份到位于192.168.1.20的MySQL服务器的数据库1.