linux上 mysql数据库备份与还原 (mysqldump)

linux上 mysql数据库备份与还原 (mysqldump)最近要写mysql数据库备份,把自己所得记录下来,防止以后忘了,哈哈哈哈(注 这是远程备份,备份到指定服务器)使用环境   centos7   mysql5.7    远程连接主机免密码登录,   在运行服务器上执行  ssh-keygen   一路回车,还是不要添加密码的好,这时候可以注意一下公钥,秘钥保存位置  把公钥放到备份的服务器上 ssh-…

大家好,又见面了,我是你们的朋友全栈君。

最近要写mysql数据库备份,把自己所得记录下来,防止以后忘了,哈哈哈哈

(注  这是远程备份,备份到指定服务器)


使用环境 

  1.     centos 7
  2.     mysql 5.7 
  3.    远程连接主机免密码登录 ,
       在运行服务器上执行   ssh-keygen
       一路回车,还是不要添加密码的好,这时候可以注意一下公钥,秘钥保存位置
      把公钥放到备份的服务器上 ssh-copy-id root@192.168.1.1
     (注意:这两台linux必须能ping通)

  msyql自带的mysqldump和xtrabackup工具,两种方法备份,今天先介绍一下mysqldump

一.使用mysqldump备份

 一般使用备份,都是备份到远程服务器上,别问我为什么,备份到本地,服务器崩了,一切都瞎了啊,哈哈哈,所以一下是备份到远程,但是可以在本地测试啊!

     在运行服务器上执行:      

     1.创建脚本,并添加内容     ps一步到位,脚本位置,自己意愿

               cd  /home                  (我的是在home目录下)

               vim mysql_data.sh

             2.添加下面的内容

#!/bin/sh 
DUMP=/usr/bin/mysqldump     #mysqldump的路径,不知道的可以全局搜索一下  find / -name mysqldump 
OUT_DIR=/home/longlong        #备份文件的目录,没有提前建好
DB_NAME=database        #要备份的数据库名字
DB_USER=root          #数据库登录名
DB_PASS=root           #数据库登陆密码
HOST=192.168.1.1    #远程备份ip
USE=root               #远程备份用户
DATE=`date +%Y%m%d%H%M`        #当前时间
OUT_SQL="mysqldata_bak_$DATE.sql.gz"     #备份出来的sql文件名
$DUMP  -u$DB_USER -p$DB_PASS $DB_NAME | gzip -c | ssh $USE@$HOST "cat >$OUT_DIR/$OUT_SQL"

      3.将脚本设置成可执行的文件类型

      chmod +x /home/mysql_data.sh

     这时候就可以测试一下脚本,看是否正确,这里有两种方法

            1    cd  /home. 

                   ./mysql_data.sh

             2.     bash -x  /home/mysql_data.sh

       都可以查看脚本是否执行成功    

     4.添加定时任务  crontab

        crontab -e 

       添加如下命令  (每天的一点三十分执行)

        30 1 * * *  /home/mysql_data.sh  

      5 重启定时任务

        service crond restart

  在备份服务器上执行:

      1.在备份服务器上创建备份目录  (此测试生成目录放在home下)

          cd /home

         mkdir  mysql_data            住:此目录应与上面脚本mysql_data.sh中的备份目录一致

        2.创建脚本,用来保存最近五天的备份

          vim dele.sh

         复制以下内容    

DAYS=5
BACKUP_DIR=/home/longlong    #(这个文件和上面备份的文件一致)
#删除过期的文件
find $BACKUP_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \;        #删>除5天前的备份文件(注意:{} \;中间有空格)

            3.将脚本文件设置成可执行文件类型

                chmod +x /home/dele.sh

              4.添加计划任务

                crontab -e

               输入如下命令

                30 1 * * *  /home/dele.sh

              5.重启定时任务

              service crond restart

   二.mysqldump数据库备份还原

       在备份服务器上执行

      1.解压缩

          gunzip   备份文件名

       2.还原数据库

        mysql -u root -p datapase < 备份文件名

一些ok,剩下测试.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133225.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js高级技巧_JavaScript高级程序

    js高级技巧_JavaScript高级程序下述内容主要讲述了《JavaScript高级程序设计(第3版)》第22章关于“高级技巧”。一、高级函数函数是第一等公民,所有函数都是对象。1.安全的类型检测JavaScript内置的类型检测机制并非完全可靠。varisArray=valueinstanceofArray;以上代码要返回true,value必须是一个数组,而且还必须与Array构造函数在同个全局作用域中。(Array是w

    2022年8月20日
    5
  • windows net 命令详解「建议收藏」

    windows net 命令详解「建议收藏」综合了WINDOWS98,WINDOWSWORKSTATION和WINDOWSSERVER三个操作系统关于NET命令的解释,希望可以全面一些。先说一些:(1)NET命令是一个命令行命令。(2)管理网络环境、服务、用户、登陆。。。。等本地信息(3)WIN98,WINWORKSTATION和WINNT都内置了NET命令。(4)但WIN98的NET命令和WO

    2022年5月28日
    36
  • Java基础面试题50题

    1,””空字符串的作用packagecom.neuedu.nineteen;publicclassTest{publicstaticvoidmain(String[]args){Strings=””;for(chari=’a’;i<‘d’;i++){s=s+i;//输出…

    2022年4月14日
    49
  • python中类(class)

    python中类(class)"""面向过程和面向对象(oop:objectorientedprogramming)的基本概念面向过程:—侧重于怎么做?1.把完成某一个需求的所有步骤从头到尾逐步实现2.根据开发要求,将某些功能独立的代码封装成一个又一个函数3.最后完成的代码,就是顺序的调用不同的函数特点:1.注重步骤与过程,不注重职责分工2.如果需求复杂,代码会变得很复杂3.开发复杂项…

    2022年5月1日
    38
  • python 矩阵转置 transpose

    python 矩阵转置 transpose*forin嵌套列表deftranspose1(matrix):cols=len(matrix[0])return[[row[i]forrowinmatrix]foriinrange(0,cols)]deftranspose2(matrix):transposed=[]foriinrange(len(ma…

    2022年6月2日
    40
  • 路由懒加载的原理及实现_前端路由懒加载

    路由懒加载的原理及实现_前端路由懒加载懒加载解决的问题:避免进入首页就加载全部的前端资源造成用户等待时间过长的问题。就好比,访问login页面,你返回的js路由不仅有渲染login页面的,还有渲染production页面以及其他页面的功能。而这些代码量太大了,文件也大。js文件有个特征,下载完全了才会运行,导致页面首屏速度太慢了,也就是白屏时间太长。这个问题,早就有人发现,于是解决方案就是路由懒加载,这只是一个技术名词。Vue路由懒加载原理说明1)我们一开始用ES6的写法,在路由文件router/index.js中

    2022年9月27日
    0

发表回复

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

关注全栈程序员社区公众号