本文是linux下mysql的导出、导入,及定时备份脚本的编写,及定时器的简单应用。
本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。
注意:
Linux下区分大小写;Linux多用户多线程;Linux下每个文件和目录都有访问权限;
Linux下mysql定时备份及恢复
一、mysql数据导入导出语法
1.数据导出
#导出全库#mysqldump-u用户名-p密码数据库名all.sql
#导出单数据库#mysqldump-u用户名-p密码数据库名数据库名.sql
#导出单表#mysqldump-u用户名-p密码-p数据库名表名导出的文件名
#只导出单库的表结构#mysqldump-u用户名-p密码-d数据库名数据库名.sql
#只导出单表的表结构#mysqldump-u用户名-p密码-d数据库名表名数据库名.sql
2.数据导入
#方法一(推荐):source导入#登录mysql#mysql-uroot-pRoot
#执行createdatabasetest;usetest;source/home/mysql_bak/test_.sql;#方法二:通过客户端工具导入#连接数据库,创建数据库,导入数据库。
#方法三,mysql命令#mysql-u用户名-p密码数据库名数据库名.sql
二、Mysql定时备份
1.备份策略
备份路径为/home/mysql_bak;定时备份为每晚23.00执行;保留7天的备份;
2.添加备份脚本,新建备份文件
#vim/home/mysql_bak.sh#内容如下
#!/bin/bash#mysql定时备份#备份目录backupdir=/home/mysql_bak#备份库名d_name=testtime=$(date+%Y%m%d%H)#利用管道命令连接gzip命令直接备份为gz压缩文件mysqldump-uroot-pRoot
$d_namegzip$backupdir/$d_name_$time.sql.gz#或者不压缩,直接备份为sql#mysqldump-uroot-pRoot
test$backupdir/$d_name_$time.sql#删除7天以前的备份,注意find语句结尾的分号#find$backupdir-name"*.sql.gz"-mtime+7-execrm-f{}\;3.添加定时任务
#crontab-e#使用默认编辑器设置定时器或编辑定时器文件#vim/etc/crontab
增加内容
#定时每天晚上23点执行,并输入日志***sh/home/mysql_bak/mysql_bak.sh/home/mysql_bak/mysql_bak.log21
三、Mysql数据导入/恢复
1.解压备份文件
#gunziptest_.sql.gz#解压后自动删除源压缩包
2.导入/恢复数据
#登录mysql#mysql-uroot-pRoot
#执行createdatabasetest;#注意数据库编码格式usetest;source/home/mysql_bak/test_.sql;或者,通过客户端工具导入#连接数据库,创建数据库,导入数据库。
IT小胖豆:初学者踩坑之路及过程分享,希望能够帮到一些初学者,欢迎各位IT打工人,入坑讨论-_-