zoukankan      html  css  js  c++  java
  • 迁移表空间

    需求: 将3306(源端)的test.t100w表迁移到3307(目标端)的test

    1. 目标数据库3307中创建一个源端结构一致空表(t100w)

      mysql> create database test;
      mysql> use test
      mysql> CREATE TABLE `t100w` (   `id` int DEFAULT NULL,   `num` int DEFAULT NULL,   `k1` char(2) DEFAULT NULL,   `k2` char(4) DEFAULT NULL,   `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,   KEY `idx` (`k1`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
      
    2. 目标端删除表空间,保留表结构,删除表空间文件
      mysql> alter table t100w discard tablespace;

    3. 源端锁定需要迁移的表
      mysql> flush table t100w with read lock;

    4. 拷贝ibd文件到目标端目录下

      [root@db01 test]# cp -a /data/3306/data/test/t100w.ibd  /data/3307/data/test/
      [root@db01 test]# pwd
      /data/3307/data/test
      [root@db01 test]# ll
      total 94208
      -rw-r----- 1 mysql mysql 96468992 Dec 28 17:38 t100w.ibd
      
    5. 目标端导入表空间文件
      mysql> alter table t100w import tablespace;

    6. 释放源端表锁
      mysql> unlock tables;

  • 相关阅读:
    Redis 的基本操作、Key的操作及命名规范
    python离线安装外部库(第三方库)
    STL之deque
    STL之list
    STL学习之vector
    STL三种标准容器
    Lua系统库
    Lua输入输出库
    Lua字符串库
    Lua面向对象
  • 原文地址:https://www.cnblogs.com/hypj/p/14200626.html
Copyright © 2011-2022 走看看