侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

mysql 自动化脚本

2023-12-14 星期四 / 0 评论 / 0 点赞 / 93 阅读 / 3767 字

#!/bin/ashUSER="root"NEWUSER="xxx"PASSWORD="xxxx"NEWPASSWORD="xxxxxxxxxx"DATE=`date +%Y/%m/%d`OUTPUT

#!/bin/ashUSER="root"NEWUSER="xxx"PASSWORD="xxxx"NEWPASSWORD="xxxxxxxxxx"DATE=`date +%Y/%m/%d`OUTPUT="/mnt/data/database/$DATE"OPERATOR="export"FILES="/tmp/database/*"DATABASEPATH="/mnt/db/mysql"TMPPATH="/mnt/db/tmp"echo $OUTPUT[ ! -d "$OUTPUT" ] && {    echo "mkdir $OUTPUT"    mkdir -p $OUTPUT}#数据为初始化action_init(){    flag=$(uci get -q system.@general[0].databaseinit)    [ ! -z "$flag" ] && return	[  -z "$flag" ] && {        section=$(uci get -q system.@general[0])		[ -z "$section" ] &&{			uci add system general		}		uci set system.@general[0].databaseinit=1        uci commit system	}    [ -d "$DATABASEPATH" ] && rm -rf $DATABASEPATH    [ -d "$TMPPATH" ] && rm -rf $TMPPATH    sed -i "s,^datadir.*,datadir         = /"$DATABASEPATH/",g" /etc/my.cnf    sed -i 's,^tmpdir.*,tmpdir          = "/mnt/db/tmp",g' /etc/my.cnf    [ ! -d "$DATABASEPATH" ] && mkdir -p $DATABASEPATH    [ ! -d "$TMPPATH" ] && mkdir -p $TMPPATH    mysql_install_db --force    /etc/init.d/mysqld start    /etc/init.d/mysqld enable    mysqladmin -u  $USER password "$PASSWORD"    [ -f /tmp/adduser.sql ] && rm -rf /tmp/adduser.sql    echo "insert into mysql.user(Host,User,Password) values(/"localhost/",/"$NEWUSER/",password(/"$NEWPASSWORD/"));">/tmp/adduser.sql    echo "GRANT ALL PRIVILEGES ON *.* TO /"$NEWUSER/"@/"localhost/" IDENTIFIED BY /"$NEWPASSWORD/"; "    echo "GRANT ALL PRIVILEGES ON *.* TO /"$NEWUSER/"@/"localhost/" IDENTIFIED BY /"$NEWPASSWORD/"; ">>/tmp/adduser.sql    echo "flush privileges;">>/tmp/adduser.sql    mysql -u $USER -p$PASSWORD < /tmp/adduser.sql    rm -rf /tmp/adduser.sql}#数据库导出action_export(){    databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`    echo "backup start"    for db in $databases; do        if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then            echo "Dumping database: $db"            [ -f $OUTPUT/`date +%Y%m%d`.$db.sql ] && {                echo "rm sql file"                rm -rf $OUTPUT/`date +%Y%m%d`.$db.sql            }            mysqldump -u $NEWUSER -p$NEWPASSWORD --databases $db > $OUTPUT/`date +%Y%m%d`.$db.sql            [ -f $OUTPUT/`date +%Y%m%d`.$db.sql.gz ] && {                echo "rm file"                rm -rf $OUTPUT/`date +%Y%m%d`.$db.sql.gz            }            gzip $OUTPUT/`date +%Y%m%d`.$db.sql            rm -rf $OUTPUT/`date +%Y%m%d`.$db.sql        fi    done    echo "backup end"}#数据库导入action_import(){    for f in $FILES    do        [ -f "$f" ] &&{            echo "Processing $f file..."            mysql -u $NEWUSER -p$NEWPASSWORD < $f        }    done}[ ! -z "$1" ] && OPERATOR=$1[ ! -z "$2" ] && USER=$2[ ! -z "$3" ] && PASSWORD=$3if [ "$OPERATOR" == "export" ]; then    action_exportelif [ "$OPERATOR" == "import" ]; then    action_importelif [ "$OPERATOR" == "init" ]; then    action_initfi

广告 广告

评论区