• 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  这个是参考的博客

  • 相关阅读:
    php中 include 、include_once、require、require_once4个语言结构的含义和区别
    PHP yield 分析,以及协程的实现,超详细版(上)
    wordpress里的bloginfo()与get_bloginfo()
    CSS定位中“父相子绝”
    Apache 的 httpd.conf 详解
    apache的<directory>语句以及属性的含义
    你必须了解的Session的本质(PHP)
    Linux常用命令
    vmware中配置CentOS
    程序员可能会遇到的一些名词
  • 原文地址:https://www.cnblogs.com/hally/p/9098945.html
Copyright © 2020-2023  润新知