linux下mysql备份恢复命令行_如何从命令行备份和还原MySQL / MariaDB数据库

我们都知道MySQL是ORACLE开发的开源RDBMS。

大多数CMS网站(例如wordpress,joomla…)都使用MySQL数据库作为后端。

Linux管理员应注意MySQL的备份和还原命令。

下面的示例向我们展示了如何使用mysqldump命令进行备份和还原MySQL数据库。

mysqldump是备份mysql数据库的有效方法之一。

它会创建一个*.sql扩展名为的备份文件,该文件可以轻松还原。

单数据库备份的语法

$ sudo mysqldump -u [username] -p [don't enter the password here] [databasename] > [backupfile.sql]

单数据库还原的语法

$ sudo mysql -u [username] -p [don't enter the password here] [databasename] < [backupfile.sql]

多数据库备份的语法

$ sudo mysqldump -u [username] -p [password] –databases [databasename1] [databasename2] > [backupfile.sql]

所有数据库备份的语法

$ sudo mysqldump -u [username] -p [password] –-alldatabases > [backupfile.sql]

用户名(UserName):数据库用户名

密码(Password):密码数据库

数据库名(DatabaseName):你的数据库的名称

backupfile.sql:备份文件名

示例:备份和还原

下面的示例向我们展示了备份和还原单个,多个或所有数据库的方式。

1)如何在Linux中备份单个MySQL / MariaDB数据库?

在此示例中,我们将备份testdbto testdb.sql文件。

$ sudo mysqldump -u root -p testdb > testdb.sql

2)如何在Linux中还原单个MySQL / MariaDB数据库?

在此示例中,我们testdb将从testdb.sql文件中还原数据库。

$ sudo mysql -u root -p testdb < testdb.sql

3)如何在Linux中备份多个MySQL / MariaDB数据库?

在这个例子中,我们要备份testdb1并testdb2以multidatabasebackup.sql文件。

$ sudo mysqldump -u root -p –databases testdb1 testdb2 > multidatabasebackup.sql

4)如何在Linux中还原多个MySQL / MariaDB数据库?

在这个例子中,我们要还原的数据库testdb1,并testdb2从multidatabasebackup.sql文件,因为multidatabasebackup.sql文件中有数据库备份两种。

$ sudo mysql -u root -p testdb1 testdb2 < multidatabasebackup.sql

5)如何从Linux中的完整数据库备份还原单个MySQL / MariaDB数据库?

在此示例中,我们将仅还原testdb1from multidatabasebackup.sql文件。

$ sudo mysql -u root -p testdb1 < multidatabasebackup.sql

6)如何从Linux中的完整数据库备份还原所有MySQL / MariaDB数据库?

在此示例中,我们将从alldatabases.sql文件中还原所有数据库。

$ sudo mysql -u root -p < alldatabases.sql

7)如何备份压缩格式的单个MySQL / MariaDB数据库?

在此示例中,我们将对testdbto testdb.sql.gz文件进行压缩备份。当数据库很大时,它将减少服务器上的磁盘空间利用率。

$ sudo mysqldump -u root -p testdb | gzip >testdb.sql.gz

8)如何在Linux中还原单个MySQL / MariaDB数据库的压缩格式?

在此示例中,我们testdb将从压缩testdb.sql.gz文件中还原数据库。

$ sudo gunzip < testdb.sql.gz | mysql -u root-p testdb

9)用于备份自动化的Shell脚本

下面的示例将自动备份testdb数据库。备份的数据库将以/backup/db/testdab19-09-2013.tar.gz五天的保留期存储到其中。

创建一个mysql_backup.sh在所需目录上命名的文件,并添加以下代码,文件权限应为755,才能执行该文件。就我而言,我已经在/opt/mysql_backup.sh目录下创建了一个文件。

以下是MySQL / MariaDB备份的Shell脚本。

# vi /opt/mysql_backup.sh

#!/bin/bash

date_format=`date +%d-%m-%Y`

mysqldump -u root testdb| gzip -9 > /backup/db/testdb-$date_format.sql.gz

find /backup/db/test* -mtime +5 -exec rm {} ;

设置文件的可执行权限mysql_backup.sh。

# chmod +x /opt/mysql_backup.sh

最后运行脚本以实现此目的。

# sh /opt/mysql_backup.sh

Cron作业计划

Cron作业将使我们的生活更加轻松,可以按计划的时间执行程序而不会失败。下面的cron作业计划每天下午6点运行。

0 18 * * * /opt/mysql_backup.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值