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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • iOS 在TabViewController中的一个ViewController跳转到另一种ViewController

    iOS 在TabViewController中的一个ViewController跳转到另一种ViewController

    2022年1月1日
    44
  • 【C++】自引用this指针的秘密

    【C++】自引用this指针的秘密关于this指针的一个经典回答当我们在进入一个房子之后,可以看见房子里的桌子、椅子、地板等,但是看不到房子的全貌。对于一个类的实例来说,你可以看到它的成员函数、成员变量,但是实例本身呢?this是一个指针,它时时刻刻指向这个个实例。识别一个类可以分为哪三步?①识别类名。②识别数据成员。③识别成员函数并修改之。this指针的特性:①this指针的类型:类类型*const。②thi…

    2022年5月16日
    51
  • 小数转int类型_怎样对结构体进行大小端转换

    小数转int类型_怎样对结构体进行大小端转换int16大小端转换:staticinlineuint16_tbswap_16(uint16_tx){  return(x>>8)|(x}int32大小端转换:staticinlineuint32_tbswap_32(uint32_tx){  x=((x>8)&0x00FF00FF); 

    2022年8月15日
    4
  • Android获取分辨率和像素密度「建议收藏」

    Android获取分辨率和像素密度「建议收藏」看了网上好多的代码说是获取的分辨率其实得到的是屏幕的宽和高。1.如何获取分辨率和像素密度2..实现代码如下 DisplayMetricslocalDisplayMetrics=newDisplayMetrics(); try{ DisplaylocalDisplay=getWindow().getWindowManager().getDefaultDispl

    2022年6月14日
    70
  • SQLServer2K远程连接问题解决方案(转载自飞狐小屋)

    SQLServer2K远程连接问题解决方案(转载自飞狐小屋)由于特定需求,最近实验室需要远程连接外地的sqlserver2000服务器,最开始怎么连也连不上,出现了很多问题,但是在今天上午,借用实验室的测试条件(一个公网IP,两个教育网静态IP),终于调试通过,也算是完成了老师的任务,在这里写下自己的心得,参考了很多网上的文章和论坛里的问题,希望对有此需要的有帮助。不完善之处,也请留言。废话少说,进入主题。步骤:一看ping服务…

    2022年9月1日
    5
  • IDEA中Maven配置问题全解决[通俗易懂]

    IDEA中Maven配置问题全解决[通俗易懂]最近换了工作环境,以前的IDEA配置都没了,记得上次配置自己的IDEA还是在两年前?然后构建Maven项目时遇到了一些小插曲,记录下解决方案(PS:新手教程向)1.idea中maven默认配置的坑首先打开File->Settings这里可以直接搜索maven,就可以进入idea的Maven配置选项。我这里是idea默认的maven配置,可以看到默认的Maven目录是idea内置…

    2022年5月27日
    67

发表回复

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

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