代码先锋网 代码片段及技术文章聚合

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 表名

版权声明:本文为weixin_33937778原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33937778/article/details/93547038

智能推荐

mysql千万数据迁移

mysql千万数据迁移 最近有个需求,项目中故障表每天以50w条的行数新增,现已有2千万数据,还在不断增加,导致查询效率极其低(索引解决不了),为此,和同事讨论,表中只保留最近15天的数据,其他历史数据迁移到备份表中,增加查询效率。 思路 1.先备份数据(切记很重要,很重要!) 2.删除原表中15天之前的所有数据 3.每天定时跑任务,去备份15天之前的数据,并删除掉(每天晚上跑,数据量保持在百万级...

MySQL的数据迁移

一、前言 数据库的数据迁移是我们经常遇到的问题,如因磁盘空间不够、业务出现瓶颈、项目改造等原因。 二、MySQL数据迁移常用的方法 1、使用第三方迁移工具。 2、数据文件和库表结构直接拷贝到新服务器,挂载到同样配置的MySQL服务下。 3、数据库直接导出,拷贝文件到新服务器上,在新服务器导入。 第一种方案的优点:时间占用短,文件可断点传输,操作步骤少。缺点:新旧服务器中MySQL版本及配置必须相同...

mysql数据迁移脚本

当前表更新字段 同一个表中的字段更新,其后接条件 联查更新 更新字段时,可使用联查语句进行条件拼接 查询插入 目标表按照指定字段,插入查询到的数据(可多表联查,需注意字段顺序) 暂时仅记录工作中用到的场景,仅供参考。未完待续…...

数据迁移之MySQL

文章目录 一、环境调研 1.1 服务器信息 1.2 数据库信息 1.2.1 数据库基本信息 1.2.2 数据库用户信息 1.3 库表信息调研 1.3.1 数据库对象统计概览 1.3.2 数据库信息统计概览 1.3.3 表信息统计概览 1.3.4 忽略大小写敏感后是否存在重名表 1.4 数据流拓扑 二、方案制定 2.1 各种方案特点对比 2.2 数据库账号权限 2.3 迁移步骤/进度记录 2.4 数...

Mysql数据迁移

使用linux下的软连接方法,具体操作如下:(以迁移到/home/mysql/目录为例) 先停止mysql: systemctl stop mysqld 迁移数据 mv /var/lib/mysql/* /home/mysql 创建软连接: ln -s /home/mysql /var/lib/mysql 修改配置文件 启动服务...

猜你喜欢

MySQL数据迁移

导出数据 导入数据...

数据迁移Oracle、MySQL

数据迁移MySQL、Oracle 文章目录 数据迁移MySQL、Oracle 一、Mysql导出单一数据库库 1 登陆MySQL 2 mysqldump命令格式 3 mysqldump 导出数据例子 4 在新库上导入数据 二、Oracle数据库的迁移 1 导出原有Oracle数据库 2 在新数据库上创建表空间、用户、授权 3 在新的数据库上导入数据 4 其他导出oracle数据的语句 一、Mysq...

MySQL数据迁移

目录 一.将mysql服务器1的库或表导出为sql文件格式 二.传输到另一个Mysql服务器 三.将sql文件导入第二台MySQL服务器 一.将mysql服务器1的库或表导出为sql文件格式 1.登录服务器1 2.输入以下命令导出数据 3.记录下sql文件的位置 二.传输到另一个Mysql服务器 1.登录服务器2 2.传输文件 三.将sql文件导入第二台MySQL服务器 登录数据库,用户名为roo...

mysql数据库迁移

服务器数据库迁移到新的数据库中: 场景1、修改多个数据库的前缀以及表前缀 1、创建数据库 2、转移数据库表 运用数据传输工具直接传输数据 3、根据规则生成修改表的sql语句 (针对单个数据库修改表)...

数据迁移问题MySQL——>Oracle

共迁移7张表,表间互有关联,操作步骤: 1、使用Navicat将数据从Mysql传输到Oracle   Navicat—>工具—>数据传输,注意高级选项中的设置。 2、发现问题迁移后的表名和字段名有"",在Oracle中,加""的表名是大小写敏感的,需将加""的表名除去引号   &n...