mysql数据不完整迁移脚本

公司新平台上线,老数据库中有一些原本的用户数据需要迁移到新平台,特地开发这个脚本,以保证数据的完整性,以及效率性
#!/bin/bash

##到出旧数据库中需要的表

echo "请在脚本语言目录下准备3个文件,一个为tables.txt,里面列出需要从旧数据库中导出的表名,另一个是oldmysqlauth旧数据库的用户账号密码以及数据库,第三个是newmysqlauth新数据库的用户账号密码以及数据库,分别列出格式为:        1        2        3 ..."
counts=`awk ‘BEGIN{t=0;} { t++; }  END{print t; }‘ tables.txt`
i=1
mkdir sql 
if [ -e tables.txt  ] && [ -e oldmysqlauth ] && [ -e newmysqlauth ];
then
    while [ $i -le $counts ];
    do
       table=`awk -v awk_i="$i" ‘NR==awk_i{print}‘ tables.txt`;
       /usr/bin/mysqldump -u`awk ‘NR==1{print}‘ oldmysqlauth` -p`awk ‘NR==2{print}‘ oldmysqlauth`  `awk ‘NR==3{print}‘ oldmysqlauth` $table  > sql/$table.sql     
       i=$((i+1))
       done
       else    
           echo "程序需要文件不完整,请检查"
fi
echo "已经将您需要的表从旧的数据库中导出,即将进行数据表还原"
           
##将旧数据库中导出的表导入新数据库中
k=1
if [ -e tables.txt  ] && [ -e oldmysqlauth ] && [ -e newmysqlauth ];
then
while [ $k -le $counts ]; 
do
    table=`awk -v awk_k="$k" ‘NR==awk_k{print}‘ tables.txt`;    
    /usr/bin/mysql -u`awk ‘NR==1{print}‘ newmysqlauth` -p`awk ‘NR==2{print}‘ newmysqlauth`  `awk ‘NR==3{print}‘ newmysqlauth`  < /root/datapopulate/sql/$table.sql     
    k=$((k+1))
    done
    else
        echo "程序需要文件不完整,请检查"
fi
echo "已经将旧数据库中的表迁移到新的数据库中,谢谢使用!"
时间: 2024-10-10 12:51:52

mysql数据不完整迁移脚本的相关文章

将mysql数据从Windows迁移到Linux中

1.先在windows上将数据都导出一个文件.(这里以某个数据库为例) 导出整个数据库 mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名 导出指定表 mysqldump -u 用户名 -p密码 数据库名 表名1 表名2 ... > 导出的 文件名 2.将数据从Windows拷贝到Linux中. 3.登录Linux的MySql数据库 4.创建与windows同名的数据库名. mysql> create database qt; 查看字符集是否与windows一致,不一

MySQL 数据迁移脚本

用python写了个数据迁移脚本,主要是利用从库将大的静态表导出表空间,载导入到目标实例中. #!/usr/bin/env python3 #-*- coding:utf8 -*- #author:zhanbin.liu #!!!!!DB必须同版本 #python3环境 pip3 install pymysql paramiko import os #from pathlib import Path import sys import pymysql import paramiko #每次只能迁

迁移 RDS for MySQL 数据到本地 MySQL

背景  公司的业务系统采用阿里云的RDS云数据库,最近有一个需求:迁移 RDS for MySQL 数据到本地 MySQL.阿里云数据库 MySQL 版支持通过物理备份文件和逻辑备份文件两种途径将云上数据迁移到本地数据库.我公司采用mysql5.6版,备分策略是自动全量物理备份.本地系统是Centos 6.8 X64,此教程提供两种方法,任选其一即可. 备注:因为软件限制,目前数据恢复只支持在 Linux 系统下进行.如果您要恢复数据到 Windows 系统,可以先将数据恢复到 Linux 系统

mysql数据迁移

一. 数据迁移简介所谓的数据迁移,就是指将原有的数据库系统迁移到另外一个业务系统上数据迁移的原因是多种多样的,有可能是业务变更.硬件升级.平台切换或升级mysql数据库 迁移的注意事项:(1).相同版本可以迁移(2).注意版本可以使用的引擎(3).低版本可以向高版本进行数据迁移,高版本一般兼容低版本的特性(4).高版本的数据不能向低版本进行数据迁移,会出现数据不兼容的情况(5).迁移是请注意导出数据和备份数据,出现迁移失败时,立即启动备份方案,保证公司业务的正常运行(6).在数据迁移时,要选择用

Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)

标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力活:对于自动化测试与人工测试优缺势的问题,这里不想深入讨论,开一个博客收集一些观点然后开个讨论组讨论效果可能会更好. 标题上列的,是自己对web自动化这块统一的一个想象或是一套完整的自动化应所包含的的部分,目前完成了excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试

Linux Centos 迁移Mysql 数据位置

Linux Centos 迁移Mysql 数据位置 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like '%dir%'; datadir 就是数据路径 转移操作 新建 mysql 数据目录 mkdir /data/mysqlData 停止mysql服务 service m

MySQL 数据(数据库)迁移

查找MySQL真正的Data目录 show variables like 'datadir'; +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | datadir | /var/lib/mysql/ | +---------------+-----------------+ 步骤: 关闭apache,tomcat 关闭MySQL 移动/var/lib

MySQL数据迁移到MSSQL-以小米数据库为例-测试828W最快可达到2分11秒

这里采用.NET Framework 4.0以上版本中新出现的 ConcurrentQueue<T> 类 MSDN是这样描述的: ConcurrentQueue<T> 类是一个线程安全的先进先出 (FIFO) 集合. ConcurrentQueue<T> 的所有公共且受保护的成员都是线程安全的,可从多个线程同时使用. 共采用两个线程,一个读一个写. ConcurrentQueue<T>的实现方法: (FIFO) 集合: ConcurrentQueue<

阿里云 CentOS下面 Mysql 数据迁移

本次Mysql数据迁移, 只是从阿里云的CentOS系统盘中,把mysql的data数据, 迁移到非系统盘中. 起因: 由于购买阿里云时候,  默认的系统盘只有20G.  后又购买了100G磁盘空间, 这时, 需要把原mysql数据, 迁移到新的磁盘分区中. 所有的操作步骤记录如下: 1. 新挂载磁盘分区: mount, 并设置为重启后自动加载. 2. 暂时关闭nginx服务器. 再关闭mysql服务器. 3. 修改/etc/my.cnf配置文件, 将里面的路径, 修改为新磁盘中的, 需要保存m