zoukankan      html  css  js  c++  java
  • mysql数据库实现分库备份

    不用进数据库也可以查看数据库中的库

    mysql -uroot -p'password' -e 'show databases;'   要用到-e参数

    再看一个加入sed之后的命令,上面的命令过滤出来的时候表格,那么我不想要表格,我要去掉的话就要用sed命令:

    mysql -uroot -p123456 -e 'show databases;'|sed 1d    #这样就能直接拿到里面所有的库了,d参数是删除行的意思

    mysql备份的语句:

    mysqldump -uroot -p123456 -B test > test.sql  这里参数-B是指会在备份数据中增加建库的语句,备份数据使用-B参数,后面可以直接接多个库名

    来看一下批量备份:mysqlbak.sh这个脚本

    #!/bin/bash
    #先拿到所有的库
    database=`mysql -uroot -p123456 -e "show databases;"|sed 1d` #这里是反引号
    echo $database
    for data in $database
    do
    mysqldump -uroot -p123456 -B $data > /data/shell/mysqlbak/${data}`date +%Y%m%d`.sql    #date后面必须要有空格
    done

    当执行的时候,会出现这个错误

    这个意思是这个库没有权限备份,因为这个库是系统自带的库,不允许备份,其实这个时候已经成功了,来我们看一下:

    那么怎么处理这种错误呢,其实很简单,不要这个库就可以了:

    database=`mysql -uroot -p123456 -e "show databases;"|sed 1,2d` #这里是反引号  这里sed 1,2d表示不用第一行和第二行

    接下来我们就需要完善一下这个脚本了:

    其实就是把变量参数化了就行

    https://blog.csdn.net/linuxlsq/article/details/52606299  这个是参考的博客

  • 相关阅读:
    HDU 3853:LOOPS(概率DP)
    HDU 4405:Aeroplane chess(概率DP入门)
    中国剩余定理模板
    HDU 5768:Lucky7(中国剩余定理 + 容斥原理)
    欧几里得和拓展欧几里得模板
    HDU 5025:Saving Tang Monk(BFS + 状压)
    HDU 1728:逃离迷宫(BFS)
    HDU 5795:A Simple Nim(博弈)
    HDU 5724:Chess(博弈 + 状压)
    HDU 5818:Joint Stacks(stack + deque)
  • 原文地址:https://www.cnblogs.com/hally/p/9098945.html
Copyright © 2011-2022 走看看