您所在的位置:首页 - 数据库 - 正文数据库

Linux下mysql数据库备份与恢复

莫言 莫言 2022-07-19 【数据库】 1662人已围观

Linux下mysql数据库备份与恢复

具体操作步骤如下:

1.建备份文件夹:

Bash
mkdir /usr/db_backup

2.建脚本文件:

Bash
cd /usr/db_backuptouch autobackupmysql.shchmod 777 autobackupmysql.sh

3.打开文件

Bash
vi  autobackupmysql.sh

4.在脚本中加入如下内容:(一般这种写法都会报错,主要原因是MySQL安全机制不允许脚本上直接暴露密码,下面附有解决方法)

Bash
filename=`date +%Y%m%d`/usr/local/mysql/bin/mysqldump -uroot -ppass yourDatabaseName > /usr/db_backup/$filename.sql

5.添加如下内容:  每天早上7点运行此文件,对数据库进行备份

Bash
00 07 * * * source /usr/db_backup/autobackupmysql.sh

6.也可手动执行如下命令,手动备份

Bash
./autobackupmysql.sh


恢复备份

1、建脚本文件:

Bash
cd /usr/db_backuptouch autorecovermysql.shchmod 777 autorecovermysql.sh

2、在脚本中加入如下内容,test_zbp是数据库名称,此处省略用户名和密码,需要在my.cnf配置[mysql],也可以不省略,就无需配置my.cnf,但是会报警告,我有强迫症,受不了

Bash
filename=`date +%Y%m%d`mysql test_zbp < /usr/db_backup/$filename.sql

3、my.cnf配置

Bash
[mysql]user=root
password=root

4、添加定时任务,时间需要在备份完成之后

Bash
00 08 * * * source /usr/db_backup/autobackupmysql.sh



常见错误:

mysql: [Warning] Using a password on the command line interface can be insecure

原因:命令行上使用密码不安全

解决:找到数据库my.cnf配置文件,在[mysqldump]下增加如下代码,没有mysqldump就加一个

Bash
[mysqldump]user=root
password=root

脚本文件改为:

Bash
filename=`date +%Y%m%d`/usr/local/mysql/bin/mysqldump yourDatabaseName > /usr/db_backup/$filename.sql


Tags: 数据库常见问题

上一篇: 没有更多啦

下一篇: 因为交换友情链接问题导致网站降权怎么办?

文章评论 (暂无评论,1662人围观)

取消
微信二维码
支付宝二维码
嘿,欢迎咨询