zoukankan      html  css  js  c++  java
  • Linux环境mysql快速备份及迁移

           在项目实施的过程中,经常会面临数据库迁移,导出和导出数据,如果用普通的mysql客户端备份,时间较长且容易出错。那么mysql快速备份及迁移,就成为数据库迁移的重中之重。

    下面介绍我在项目实现过程中用到的方法。

          1.为了方便,这边直接将需要执行的SQL语句写成脚本dbbak.sh。脚本内容如下:       

    #!/bin/sh
    #bak dir
    BACKUP_ROOT=备份路径
    
    BACKUP_FILEDIR=$BACKUP_ROOT
    
    #current date
    DATE=$(date +%Y%m%d)
    
    ###backup db
    DB_NAME=dfdb
    DB_USER="用户名"
    DB_PASS="密码"
    DB_HOST="IP地址"
    
    cd /usr/local/mysql/bin
    #DB_NAME=dbname
    ./mysqldump -h$DB_HOST -P12306 -u$DB_USER -p$DB_PASS --default-character-set=utf8 -q -B dbname | gzip > $BACKUP_FILEDIR/dbname-$DATE.sql.gz

    2.备份数据库,执行上述脚本文件,会生成 dbname-xxx.sql.zip 文件,即是备份好的数据库文件

    3.下载备份好的 dbname-xxx.sql.zip 文件,上传到新的服务器中,然后执行gzip -d  dbname-xxx.sql.zip  进行解压

    4.切换到mysql 的 路径下, 比如  cd /usr/local/mysql/bin   然后 root 账户登录  ./mysql -u root -p  到 mysql> 的状态。

    5.查看所有的数据库   show databases;(特别注意,如果迁移过来的数据的需要更改数据库名称,就要在第3步前修改备份文件里的数据库的名称)

      如果有相同的数据库名称,需要先备份之前的数据库,否则后面数据迁移的过程中,会覆盖掉之前的数据。

    6.创建新的数据库名称: CREATE DATABASE dbname;

    7.切换到当前的数据库 :use dbname;

    8.在mysql> 状态 source  /mnt/dbname.sql  //替换为上面解压的数据库文件实际路径及文件名称

    至此数据库备份迁移完毕!

  • 相关阅读:
    Codeforces 946D
    Codeforces 817F
    Codeforces 931F
    Codeforces 932D
    Graph HDU
    Chef and Graph Queries CodeChef
    Lucky Array Codeforces
    Calculation 2 HDU
    洛谷 P3455 [POI2007]ZAP-Queries || 洛谷P2522,bzoj2301
    洛谷 P2398 GCD SUM || uva11417,uva11426,uva11424,洛谷P1390,洛谷P2257,洛谷P2568
  • 原文地址:https://www.cnblogs.com/fron/p/11623282.html
Copyright © 2011-2022 走看看