zoukankan      html  css  js  c++  java
  • MySQL数据迁移

    tables.txt文件结构

    表名1
    表名2
    表名3
    

    导出脚本

    • 导出脚本.bat(win版本)
    @echo off & setlocal enabledelayedexpansion
    
    for /f %%i in (tables.txt) do ( set table=%%i
    	echo "dump table -- !table! --"
    	mysql -u账号 -p密码 源数据库名 -e "SELECT * INTO OUTFILE 'd:/MySQL/Uploads/!table!.txt' FIELDS TERMINATED BY ',' FROM !table!"
    )
    pause
    
    • 导出脚本.sh(linux版本)
    #!/bin/bash
    
    while read line
    do
            mysql -u账号 -p密码 源数据库名 -e "SELECT * INTO OUTFILE '/var/lib/mysql-files/$line.txt' FIELDS TERMINATED BY ',' FROM $line"
    done < tables.txt
    

    导入脚本

    • 导入脚本.t(linux版本sh
    #!/bin/bash
    
    while read line
    do
            mysql -u账号 -p密码 新数据库名 -e "LOAD DATA INFILE '/var/lib/mysql-files/$line.txt' INTO TABLE $line FIELDS TERMINATED BY ','"
    done < tables.txt
    

    数据库本地备份和恢复

    # 新建目录
    mkdir -p /home/20190620;
    # 导出数据
    /usr/bin/mysqldump -u账号 -p密码 --databases 数据库名 --tables 表名  --no-create-info >/home/20190620/表名.sql;
    # 关闭bin-log
    set session sql_log_bin=0;
    # 验证是否关闭bin-log
    show variables like '%sql_log_bin%'; 
    # 清空表数据
    truncate table upp_business02;
    # 恢复
    source /home/20190620/表名.sql;
    # 优化存储
    alter table 表名 engine=InnoDB;
    # 优化器优化
    # analyze table 表名
    
  • 相关阅读:
    Linux w命令
    01.drf文档及外键字段反序列化
    redis的参数解释
    redis集群复制和故障转移
    codis原理及部署_01
    redis 主从哨兵02
    redis 主从哨兵01
    redis持久化
    redis python操作
    redis cluster
  • 原文地址:https://www.cnblogs.com/LingCoder/p/10831456.html
Copyright © 2011-2022 走看看