mysql迁移(mysql5.1的数据库如何迁移至mysql5.7)

:暂无数据 2026-06-26 06:30:08 :0

mysql迁移(mysql5.1的数据库如何迁移至mysql5.7)

今天给各位分享mysql5.1的数据库如何迁移至mysql5.7的知识,其中也会对mysql5.1的数据库如何迁移至mysql5.7进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

mysql5.1的数据库如何迁移至mysql5.7

安全的办法是在旧环境导出表数、在新环境建立数据库后导入表,可以使用SQL或者TXT为中间文件。

mysql数据库迁移成功缺少某个字段的数据

提示是数据表ims_account_wechats出错
Unknown column ‘jsapi_ticket’in ‘field list翻译成人话就是在ims_account_wechats这个表中缺少jsapi_ticket这个字段。
本着缺啥补啥的精神,我们要来看一看如何正确地补上这个字段
语句很简单
alter table+表名+add+字段名+数据类型+默认值
示例的解决方法
alter table ims_account_wechats add jsapi_ticket varchar(32) DEFAULT NULL其实对应着错误,把表名和缺的字段名填写上去就行,默认值也就写DEFAULT NULL就可以,唯一麻烦的就是这个数据类型了。如果有人告诉你,这个字段的数据类型是什么,那就直接写上,如果实在确定不了,建议选用varchar这个字符类型,上面示例解决方法里就是varchar(32),表示可以存储32个字符,这个值自己写吧,最大支持255。然后扔到系统-数据库-SQL里执行一下或者直接在数据库里执行一下就可以了。

数据从MySQL迁移到Oracle 需要注意什么

OGG全称为Oracle GoldenGate,是由Oracle官方提供的用于解决异构数据环境中数据复制的一个商业工具。相比于其它迁移工具OGG的优势在于可以直接解析源端Oracle的redo log,因此能够实现在不需要对原表结构做太多调整的前提下完成数据增量部分的迁移。本篇文章将重点介绍如何使用OGG实现Oracle到MySQL数据的平滑迁移,以及讲述个人在迁移过程中所碰到问题的解决方案。

(一)OGG逻辑架构

参照上图简单给大家介绍下OGG逻辑架构,让大家对OGG数据同步过程有个简单了解,后面章节会详细演示相关进程的配置方式,在OGG使用过程中主要涉及以下进程及文件:

  • Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等

  • Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量、增量数据的抽取

  • Trails文件:临时存放在磁盘上的数据文件

  • Data Pump进程:运行在数据库源端,属于Extract进程的一个辅助进程,如果不配置Data Pump,Extract进程会将抽取的数据直接发送到目标端的Trail文件,如果配置了Data Pump,Extract进程会将数据抽取到本地Trail文件,然后通过Data Pump进程发送到目标端,配置Data Pump进程的主要好处是即使源端到目标端发生网络中断,Extract进程依然不会终止

  • Collector进程:接收源端传输过来的数据变化,并写入本地Trail文件中

  • Replicat进程:读取Trail文件中记录的数据变化,创建对应的DML语句并在目标端回放

  • 二、迁移方案

    (一)环境信息

    OGG版本    OGG 12.2.0.2.2 For Oracle    OGG 12.2.0.2.2 For MySQL    

    数据库版本    Oracle 11.2.0.4    MySQL 5.7.21    

    OGG_HOME    /home/oracle/ogg    /opt/ogg    

    (二)表结构迁移

    表结构迁移属于难度不高但内容比较繁琐的一步,我们在迁移表结构时使用了一个叫sqlines的开源工具,对于sqlines工具在MySQL端创建失败及不符合预期的表结构再进行特殊处理,以此来提高表结构转换的效率。

    注意:OGG在Oracle迁移MySQL的场景下不支持DDL语句同步,因此表结构迁移完成后到数据库切换前尽量不要再修改表结构。

    (三)数据迁移

    数据同步的操作均采用OGG工具进行,考虑数据全量和增量的衔接,OGG需要先将增量同步的抽取进程启动,抓取数据库的redo log,待全量抽取结束后开启增量数据回放,应用全量和增量这段期间产生的日志数据,OGG可基于参数配置进行重复数据处理,所以使用OGG时优先将增量进行配置并启用。此外,为了避免本章节篇幅过长,OGG参数将不再解释,有需要的朋友可以查看官方提供的Reference文档查询任何你不理解的参数。

    1.源端OGG配置

    (1)Oracle数据库配置

    针对Oracle数据库,OGG需要数据库开启归档模式及增加辅助补充日志、强制记录日志等来保障OGG可抓取到完整的日志信息

    查看当前环境是否满足要求,输出结果如下图所示:

    (2)Oracle数据库OGG用户创建

    OGG需要有一个用户有权限对数据库的相关对象做操作,以下为涉及的权限,该示例将创建一个用户名和密码均为ogg的Oracle数据库用户并授予以下权限

    (3)源端OGG 管理进程(MGR)配置

    (4)源端OGG 表级补全日志(trandata)配置

    表级补全日志需要在最小补全日志打开的情况下才起作用,之前只在数据库级开启了最小补全日志(alter database add supplemental log data;),redolog记录的信息还不够全面,必须再使用add trandata开启表级的补全日志以获得必要的信息。

    (5)源端OGG 抽取进程(extract)配置

    Extract进程运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重启Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。

    (6)源端OGG 传输进程(pump)配置

    pump进程运行在数据库源端,其作用非常简单。如果源端的Extract抽取进程使用了本地trail文件,那么pump进程就会把trail文件以数据块的形式通过TCP/IP协议发送到目标端,Pump进程本质上是Extract进程的一种特殊形式,如果不使用trail文件,那么Extract进程在抽取完数据后,直接投递到目标端。

    补充:pump进程启动时需要与目标端的mgr进程进行连接,所以需要优先将目标端的mgr提前配置好,否则会报错连接被拒绝,无法传输抽取的日志文件到目标端对应目录下

    (7)源端OGG 异构mapping文件(defgen)生成

    该文件记录了源库需要复制的表的表结构定义信息,在源库生成该文件后需要拷贝到目标库的dirdef目录,当目标库的replica进程将传输过来的数据apply到目标库时需要读写该文件,同构的数据库不需要进行该操作。

    2.目标端OGG配置

    (1)目标端MySQL数据库配置

  • 确认MySQL端表结构已经存在

  • MySQL数据库OGG用户创建

  • mysql》 create user ’ogg’@’%’ identified by ’ogg’;

  • mysql》 grant all on *.* to ’ogg’@’%’;

  • #### 提前创建好ogg存放checkpoint表的数据库

  • mysql》 create database ogg;

  • (2)目标端OGG 管理进程(MGR)配置

    目标端的MGR进程和源端配置一样,可直接将源端配置方式在目标端重复执行一次即可,该部分不在赘述

    (3)目标端OGG 检查点日志表(checkpoint)配置

    checkpoint表用来保障一个事务执行完成后,在MySQL数据库从有一张表记录当前的日志回放点,与MySQL复制记录binlog的GTID或position点类似。

    #### 切换至ogg软件目录并执行ggsci进入命令行终端

  • shell》 cd $OGG_HOME

  • shell》 ggsci

  • ggsci》 edit param ./GLOBALS

  • checkpointtable ogg.ggs_checkpoint

  • ggsci》 dblogin sourcedb ogg@17X.1X.84.121:3306 userid ogg

  • ggsci》 add checkpointtable ogg.ggs_checkpoint

  • (4)目标端OGG 回放线程(replicat)配置

    Replicat进程运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML语句,然后应用到目标数据库中。

  • #### 切换至ogg软件目录并执行ggsci进入命令行终端

  • shell》 cd $OGG_HOME

  • shell》 ggsci

  • #### 添加一个回放线程并与源端pump进程传输过来的trail文件关联,并使用checkpoint表确保数据不丢失

  • ggsci》 add replicat r_cms,exttrail /opt/ogg/dirdat/ms,checkpointtable ogg.ggs_checkpoint

  • #### 增加/回放进程配置文件

  • ggsci》 edit params r_cms

  • replicat r_cms

  • targetdb cms@17X.1X.84.121:3306,userid ogg,password ogg

  • sourcedefs /opt/ogg/dirdef/cms.def

  • discardfile /opt/ogg/dirrpt/r_cms.dsc,append,megabytes 1024

  • HANDLECOLLISIONS

  • MAP cms.*,target cms.*;

  • 注意:replicat进程只需配置完成,无需启动,待全量抽取完成后再启动。

    至此源端环境配置完成 

    待全量数据抽取完毕后启动目标端回放进程即可完成数据准实时同步。

    3.全量同步配置

    全量数据同步为一次性操作,当OGG软件部署完成及增量抽取进程配置并启动后,可配置1个特殊的extract进程从表中抽取数据,将抽取的数据保存到目标端生成文件,目标端同时启动一个单次运行的replicat回放进程将数据解析并回放至目标数据库中。

    (1)源端OGG 全量抽取进程(extract)配置

  • #### 切换至ogg软件目录并执行ggsci进入命令行终端

  • shell》 cd $OGG_HOME

  • shell》 ggsci

  • #### 增加/全量抽取进程配置文件

  • #### 其中RMTFILE指定抽取的数据直接传送到远端对应目录下

  • #### 注意:RMTFILE参数指定的文件只支持2位字符,如果超过replicat则无法识别

  • ggsci》 edit params ei_cms

  • SOURCEISTABLE

  • SETENV (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")

  • SETENV (ORACLE_SID=cms)

  • SETENV (ORACLE_HOME=/data/oracle/11.2/db_1)

  • USERID ogg@appdb,PASSWORD ogg

  • RMTHOST 17X.1X.84.121,MGRPORT 7809

  • RMTFILE /opt/ogg/dirdat/ms,maxfiles 100,megabytes 1024,purge

  • TABLE cms.*;

  • #### 启动并查看抽取进程正常

  • shell》 nohup ./extract paramfile ./dirprm/ei_cms.prm reportfile ./dirrpt/ei_cms.rpt &

  • ## 查看日志是否正常进行全量抽取

  • shell》 tail -f ./dirrpt/ei_cms.rpt

  • (2)目标端OGG 全量回放进程(replicat)配置

  • #### 切换至ogg软件目录并执行ggsci进入命令行终端

  • shell》 cd $OGG_HOME

  • shell》 ggsci

  • ggsci》 edit params ri_cms

  • SPECIALRUN

  • END RUNTIME

  • TARGETDB cms@17X.1X.84.121:3306,USERID ogg,PASSWORD ogg

  • EXTFILE /opt/ogg/dirdat/ms

  • DISCARDFILE ./dirrpt/ri_cms.dsc,purge

  • MAP cms.*,TARGET cms.*;

  • #### 启动并查看回放进程正常

  • shell》 nohup ./replicat paramfile ./dirprm/ri_cms.prm reportfile ./dirrpt/ri_cms.rpt &

  • #### 查看日志是否正常进行全量回放

  • shell》 tail -f ./dirrpt/ri_cms.rpt

  • 三、数据校验

    数据校验是数据迁移过程中必不可少的环节,本章节提供给几个数据校验的思路共大家参数,校验方式可以由以下几个角度去实现:

    1.通过OGG日志查看全量、增量过程中discards记录是否为0来判断是否丢失数据;

    2.通过对源端、目标端的表执行count判断数据量是否一致;

    3.编写类似于pt-table-checksum校验原理的程序,实现行级别一致性校验,这种方式优缺点特别明显,优点是能够完全准确对数据内容进行校验,缺点是需要遍历每一行数据,校验成本较高;

    4.相对折中的数据校验方式是通过业务角度,提前编写好数十个返回结果较快的SQL,从业务角度抽样校验。

    四、迁移问题处理

    本章节将讲述迁移过程中碰到的一些问题及相应的解决方式。

    (一)MySQL限制

    在Oracle到MySQL的表结构迁移过程中主要碰到以下两个限制:

    1. Oracle端的表结构因为最初设计不严谨,存在大量的列使用varchar(4000)数据类型,导致迁移到MySQL后超出行限制,表结构无法创建。由于MySQL本身数据结构的限制,一个16K的数据页最少要存储两行数据,因此单行数据不能超过65,535 bytes,因此针对这种情况有两种解决方式:

  • 根据实际存储数据的长度,对超长的varchar列进行收缩;

  • 对于无法收缩的列转换数据类型为text,但这在使用过程中可能导致一些性能问题;

  • 2. 与第一点类似,在Innodb存储引擎中,索引前缀长度限制是767 bytes,若使用DYNAMIC、COMPRESSED行格式且开启innodblargeprefix的场景下,这个限制是3072 bytes,即使用utf8mb4字符集时,最多只能对varchar(768)的列创建索引;

    3. 使用ogg全量初始化同步时,若存在外键约束,批量导入时由于各表的插入顺序不唯一,可能子表先插入数据而主表还未插入,导致报错子表依赖的记录不存在,因此建议数据迁移阶段禁用主外键约束,待迁移结束后再打开。

  • mysql》set global foreign_key_checks=off;


  • (二)全量与增量衔接

    HANDLECOLLISIONS参数是实现OGG全量数据与增量数据衔接的关键,其实现原理是在全量抽取前先开启增量抽取进程,抓去全量应用期间产生的redo log,当全量应用完成后,开启增量回放进程,应用全量期间的增量数据。使用该参数后增量回放DML语句时主要有以下场景及处理逻辑:

  • 目标端不存在delete语句的记录,忽略该问题并不记录到discardfile

  • 目标端丢失update记录

    - 更新的是主键值,update转换成insert

    - 更新的键值是非主键,忽略该问题并不记录到discardfile

  • 目标端重复insert已存在的主键值,这将被replicat进程转换为UPDATE现有主键值的行

  • (三)OGG版本选择

    在OGG版本选择上我们也根据用户的场景多次更换了OGG版本,最初因为客户的Oracle 数据库版本为11.2.0.4,因此我们在选择OGG版本时优先选择使用了11版本,但是使用过程中发现,每次数据抽取生成的trail文件达到2G左右时,OGG报错连接中断,查看RMTFILE参数详细说明了解到trail文件默认限制为2G,后来我们替换OGG版本为12.3,使用MAXFILES参数控制生成多个指定大小的trail文件,回放时Replicat进程也能自动轮转读取Trail文件,最终解决该问题。但是如果不幸Oracle环境使用了Linux 5版本的系统,那么你的OGG需要再降一个小版本,最高只能使用OGG 12.2。

    (四)无主键表处理

    在迁移过程中还碰到一个比较难搞的问题就是当前Oracle端存在大量表没有主键。在MySQL中的表没有主键这几乎是不被允许的,因为很容易导致性能问题和主从延迟。同时在OGG迁移过程中表没有主键也会产生一些隐患,比如对于没有主键的表,OGG默认是将这个一行数据中所有的列拼凑起来作为唯一键,但实际还是可能存在重复数据导致数据同步异常,Oracle官方对此也提供了一个解决方案,通过对无主键表添加GUID列来作为行唯一标示,具体操作方式可以搜索MOS文档ID 1271578.1进行查看。

    (五)OGG安全规则

  • 报错信息

  • 2019-03-08 06:15:22  ERROR   OGG-01201  Error reported by MGR : Access denied.


  • 错误信息含义源端报错表示为该抽取进程需要和目标端的mgr进程通讯,但是被拒绝,具体操作为:源端的extract进程需要与目标端mgr进行沟通,远程将目标的replicat进行启动,由于安全性现在而被拒绝连接。

  • 报错原因

  • 在Oracle OGG 11版本后,增加了新特性安全性要求,如果需要远程启动目标端的replicat进程,需要在mgr节点增加访问控制参数允许远程调用

  • 解决办法

  • 在源端和目标端的mgr节点上分别增加访问控制规则并重启

  • ## 表示该mgr节点允许(ALLOW)10.186网段(IPADDR)的所有类型程序(PROG *)进行连接访问ACCESSRULE, PROG *, IPADDR 10.186.*.*, ALLOW


  • (六)数据抽取方式

  • 报错信息

  • 2019-03-15 14:49:04  ERROR   OGG-01192  Trying to use RMTTASK on data types which may be written as LOB chunks (Table: ’UNIONPAYCMS.CMS_OT_CONTENT_RTF’).


  • 报错原因

  • 根据官方文档说明,当前直接通过Oracle数据库抽取数据写到MySQL这种initial-load方式,不支持LOBs数据类型,而表 UNIONPAYCMS.CMSOTCONTENT_RTF 则包含了CLOB字段,无法进行传输,并且该方式不支持超过4k的字段数据类型

  • 解决方法

  • 将抽取进程中的RMTTASK改为RMTFILE参数 官方建议将数据先抽取成文件,再基于文件数据解析进行初始化导入

MySQL8数据迁移大表捷径【表空间迁移】

0. 目标端必须有同名表,没有则建一个空表;

####################################

1、 源端文件准备

源端: 

   flush tables t for export; 

复制 

t.ibd, t.cfg到目标端。 

###############################

flush tables tt7   for export; 

cp  tt7*   ../ops
2、 目标端《存在同样的表则》丢弃原来的数据文件

目标端: 

 alter table tt7  discard tablespace;
3、 目标端加载新的数据文件 t.ibd

alter table tt7 import tablespace; 
4、源端释放锁

源端: 

unlock tables; 
过程中主要异常处理:

#####################################################
SELECT  * FROM   ops2.tt7    ;

SELECT  * FROM   ops.tt7    ;

import tablespace报错:

mysql》 alter table tt7 import tablespace; 

ERROR 1812 (HY000): Tablespace is missing for table ops.tt7.
确认再相应的目录存在两个文件

确认属主和权限

#####################################################

过程

# ll

total 80

drwxr-xr-x 2 root  root      36 Dec  2 21:42 000

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

# 

# 

# 

# cp 000

# ll

drwxr-xr-x 2 root  root      36 Dec  2 21:42 000

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

-rw-r----- 1 root  root     627 Dec  2 21:45 tt7.cfg

-rw-r----- 1 root  root  114688 Dec  2 21:45 tt7.ibd

# chown mysql.mysql tt7*

# 
# ll

drwxr-xr-x 2 root  root      36 Dec  2 21:42 000

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

-rw-r----- 1 mysql mysql    627 Dec  2 21:45 tt7.cfg

-rw-r----- 1 mysql mysql 114688 Dec  2 21:46 tt7.ibd

# 
#####################################################

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

| tt7           |

+---------------+

2 rows in set (0.00 sec)

mysql》 select * from tt7;

ERROR 1814 (HY000): Tablespace has been discarded for table ’tt7’

mysql》 alter table tt7 import tablespace; 

ERROR 1812 (HY000): Tablespace is missing for table ops.tt7.

mysql》 

mysql》 alter table tt7 import tablespace;

Query OK, 0 rows affected (0.08 sec)

mysql》 

mysql》 select * from tt7;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》

###############################################

################################################

mysql》 mysql》 show tables;

+----------------+

| Tables_in_ops2 |

+----------------+

| tt2            |

| tt3            |

| tt7            |

+----------------+

3 rows in set (0.00 sec)

mysql》 

mysql》 use ops

Database changed

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

+---------------+

1 row in set (0.00 sec)

mysql》 

mysql》 use ops2;

Database changed

mysql》 select * from tt7;

+--------+------+

| x      | y    |

+--------+------+

| BBBBBB | NULL |

+--------+------+

1 row in set (0.00 sec)

mysql》 

mysql》 

mysql》 insert into tt7 select * from tt3;

Query OK, 3 rows affected (0.00 sec)

Records: 3  Duplicates: 0  Warnings: 0

mysql》 insert into tt7 select * from tt3;

Query OK, 3 rows affected (0.00 sec)

Records: 3  Duplicates: 0  Warnings: 0

mysql》 select * from tt7;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》 

mysql》 commit;

Query OK, 0 rows affected (0.00 sec)

mysql》 

mysql》 exit

Bye

# cd /data/mysql/ops2

# ll

total 240

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt3.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:36 tt7.ibd

# 

# 

# 

# mysql -u’root’  -p’fgxkB9;Zq40^MFQUi$PJ’        -A

mysql: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 56

Server version: 8.0.18 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ’help;’ or ’\h’ for help. Type ’\c’ to clear the current input statement.

mysql》 use ops2

Database changed

mysql》 

mysql》 flush tables tt7   for export; 

Query OK, 0 rows affected (0.00 sec)

mysql》 show tables;

+----------------+

| Tables_in_ops2 |

+----------------+

| tt2            |

| tt3            |

| tt7            |

+----------------+

3 rows in set (0.01 sec)

mysql》 exit

Bye

# ll

total 240

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt3.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:36 tt7.ibd

# ll

total 240

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt3.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:36 tt7.ibd

# pwd

/data/mysql/ops2

# cd  cd /data/mysql 

-bash: cd: cd: No such file or directory

#  cd /data/mysql/ops2

# ll

total 240

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:17 tt3.ibd

-rw-r----- 1 mysql mysql 114688 Dec  2 21:36 tt7.ibd

# ll -al

total 244

drwxr-x---  2 mysql mysql     51 Dec  2 21:38 .

drwxr-xr-x 12 mysql mysql   4096 Dec  2 21:17 ..

-rw-r-----  1 mysql mysql 114688 Dec  2 21:17 tt2.ibd

-rw-r-----  1 mysql mysql 114688 Dec  2 21:17 tt3.ibd

-rw-r-----  1 mysql mysql 114688 Dec  2 21:36 tt7.ibd

# pwd

/data/mysql/ops2

# mysql -u’root’  -p’fgxkB9;Zq40^MFQUi$PJ’        -A

mysql: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 57

Server version: 8.0.18 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ’help;’ or ’\h’ for help. Type ’\c’ to clear the current input statement.

mysql》 use ops2

Database changed

mysql》 show tables;

+----------------+

| Tables_in_ops2 |

+----------------+

| tt2            |

| tt3            |

| tt7            |

+----------------+

3 rows in set (0.00 sec)

mysql》 select * from tt7;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》 flush tables tt7   for export; 

Query OK, 0 rows affected (0.00 sec)

mysql》 use ops

Database changed

mysql》 ll

    -》 ;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’ll’ at line 1

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

+---------------+

1 row in set (0.00 sec)

mysql》 

mysql》 

mysql》 alter table tt7 import tablespace; 

ERROR 1100 (HY000): Table ’tt7’ was not locked with LOCK TABLES

mysql》 

mysql》 

mysql》 use ops2

Database changed

mysql》 show tables;

+----------------+

| Tables_in_ops2 |

+----------------+

| tt2            |

| tt3            |

| tt7            |

+----------------+

3 rows in set (0.00 sec)

mysql》 select * from tt7;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》 unlock tables;

Query OK, 0 rows affected (0.00 sec)

mysql》 show create table  tt7;

+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table                                                                                                                                                                                         |

+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| tt7   | CREATE TABLE `tt7` (

  `x` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs DEFAULT NULL,

  `y` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_as_cs |

+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

mysql》 use ops

Database changed

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

+---------------+

1 row in set (0.01 sec)

mysql》  CREATE TABLE `tt7` (

    -》   `x` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs DEFAULT NULL,

    -》   `y` int(11) DEFAULT NULL

    -》 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_as_cs ;

Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql》 

mysql》 

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

| tt7           |

+---------------+

2 rows in set (0.00 sec)

mysql》 select * from tt7;

Empty set (0.00 sec)

mysql》 

mysql》 alter table tt7  discard tablesapce; 

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’tablesapce’ at line 1

mysql》 alter table tt7  discard tablespace;

Query OK, 0 rows affected (0.03 sec)

mysql》 

mysql》 

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

| tt7           |

+---------------+

2 rows in set (0.00 sec)

mysql》 select * from tt7;

ERROR 1814 (HY000): Tablespace has been discarded for table ’tt7’

mysql》 

mysql》 

mysql》 

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

| tt7           |

+---------------+

2 rows in set (0.00 sec)

mysql》 select * from tt7;

ERROR 1814 (HY000): Tablespace has been discarded for table ’tt7’

mysql》 

mysql》 

mysql》 alter table tt7 import tablespace; 

ERROR 1812 (HY000): Tablespace is missing for table `ops`.`tt7`.

mysql》 

mysql》 

mysql》 

mysql》 alter table tt7 import tablespace;

Query OK, 0 rows affected (0.08 sec)

mysql》 

mysql》 

mysql》 select * from tt7;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》 SELECT  * FROM   ops2.tt7    ;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》 SELECT  * FROM   ops.tt7    ;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》 

mysql》 

mysql》 

mysql》 unlock tables; 

Query OK, 0 rows affected (0.00 sec)

mysql》 unlock tables; 

Query OK, 0 rows affected (0.00 sec)

mysql》 use ops

Database changed

mysql》 show tables;

+---------------+

| Tables_in_ops |

+---------------+

| tt2           |

| tt7           |

+---------------+

2 rows in set (0.00 sec)

mysql》 

mysql》 

mysql》 

mysql》 use ops2;

Database changed

mysql》 

mysql》 

mysql》 show tables;

+----------------+

| Tables_in_ops2 |

+----------------+

| tt2            |

| tt3            |

| tt7            |

+----------------+

3 rows in set (0.01 sec)

mysql》 

mysql》 select * from tt7;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql》 

mysql》 use ops;

Database changed

mysql》 

mysql》 

mysql》 select * from tt7;

+--------------+------+

| x            | y    |

+--------------+------+

| BBBBBB       | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

| AAAAAA       | NULL |

| BBBBBB       | NULL |

| 555555555555 | NULL |

+--------------+------+

7 rows in set (0.00 sec)

mysql怎么迁移到数据盘

  具体操作步骤如下:
  1.首先格式化磁盘,并将数据盘挂载在mnt目录下
  mkdir -p /mnt/data
  2.用mysqldump命令导出您项目所有的数据,命令参考如下:
  mysqldump -p --all -datebases》all.sql
  3.停止mysql
  /etc/init.d/mysqld stop
  4.vim/etc/init.d/mysqld 将文件中“datadir = /server/mysql/data”中的目录地址更改为您迁移至数据盘中的目录地址,即“datadir=/mnt/data”。
  5.然后用以下命令初始化一个全新的数据库环境:
  /server/mysql/scripts/mysql_install_db --basedir =/server/mysql--datadir = mnt/data -- user =mysql
  值得注意的是datadir为您mysql的数据目录。
  6.启动mysql,然后将数据还原至新的数据盘中:
  /etc/init.d/mysqld start
  mysql 《 all.sql
  /etc/init.d/mysqld restart

以上就是我们为大家找到的有关“mysql迁移(mysql5.1的数据库如何迁移至mysql5.7)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

mysql迁移(mysql5.1的数据库如何迁移至mysql5.7)

本文编辑:admin

更多文章:


用记事本写vbs代码(怎么把记事本改成vbs格式)

用记事本写vbs代码(怎么把记事本改成vbs格式)

各位老铁们好,相信很多人对用记事本写vbs代码都不是特别的了解,因此呢,今天就来为大家分享下关于用记事本写vbs代码以及怎么把记事本改成vbs格式的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 17:23

asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)

asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)

“asp是什么检查项目”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)!

2026年10月11日 10:20

汇编输出指令(用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“)

汇编输出指令(用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“)

各位老铁们好,相信很多人对汇编输出指令都不是特别的了解,因此呢,今天就来为大家分享下关于汇编输出指令以及用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看

2026年10月11日 07:20

本地搭建springboot项目(使用eclipse构建springboot项目)

本地搭建springboot项目(使用eclipse构建springboot项目)

各位老铁们,大家好,今天由我来为大家分享本地搭建springboot项目,以及使用eclipse构建springboot项目的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,

2026年10月11日 06:20

hump是什么意思?hump口语啥意思

hump是什么意思?hump口语啥意思

其实hump的问题并不复杂,但是又很多的朋友都不太了解hump是什么意思,因此呢,今天小编就来为大家分享hump的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 03:50

java入门神器好用吗(java 7入门经典适合初学者自学用吗)

java入门神器好用吗(java 7入门经典适合初学者自学用吗)

这篇文章给大家聊聊关于java入门神器好用吗,以及java 7入门经典适合初学者自学用吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 02:40

unix文件系统采用(Unix采用树形文件系统,其中“树形文件系统”什么意思)

unix文件系统采用(Unix采用树形文件系统,其中“树形文件系统”什么意思)

大家好,如果您还对unix文件系统采用不太了解,没有关系,今天就由本站为大家分享unix文件系统采用的知识,包括Unix采用树形文件系统,其中“树形文件系统”什么意思的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 00:50

数据可视化界面(FineBI的数据可视化组件设置界面分为哪些区域,错误的是)

数据可视化界面(FineBI的数据可视化组件设置界面分为哪些区域,错误的是)

大家好,关于数据可视化界面很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于FineBI的数据可视化组件设置界面分为哪些区域,错误的是的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,

2026年10月10日 22:20

arraycopy方法(java中数组之间的传值)

arraycopy方法(java中数组之间的传值)

这篇文章给大家聊聊关于arraycopy方法,以及java中数组之间的传值对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月10日 21:20

matlab2017和2018哪个好(发现matlab2018a占内存较多,下载了2016a的版本,这两个版本有什么不一样的区别吗)

matlab2017和2018哪个好(发现matlab2018a占内存较多,下载了2016a的版本,这两个版本有什么不一样的区别吗)

各位老铁们,大家好,今天由我来为大家分享matlab2017和2018哪个好,以及发现matlab2018a占内存较多,下载了2016a的版本,这两个版本有什么不一样的区别吗的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收

2026年10月10日 21:10

最近更新

红米note(红米note每年几月发布)
2026-10-11 18:50:19 浏览:0
热门文章

标签列表