zoukankan      html  css  js  c++  java
  • mysql移植问题

    今天在实际开发中对于MySQL数据库进行移植发生的问题来说下. 开始把本地data中的数据库文件拷贝到另一台机子上Test, 执行show tables ; 可以看到数据库表,但是对表进行任何操作都报错: 表不存在 , 原以为Mysql的数据库文件(.frm)Copy->stick到本地安装MySQLDB目录的data文件夹下就可以.事实不是我们想的那样. 对于MySQL数据库的移植,我们能看到的只是它生成的表结构 以就是说以 .frm为后缀名的文件.


        实际上, .frm .myd .myi都是Mysql存储数据的文件, 代表MySQL数据库表的结构/数据和索引文件 ,我们默认创建数据库和表时只生成数据库表结构的文件.frm. 移植数据库时,必须存在三种格式的数据库表文件,才能正常使用该DB, 当我们在本地创建出数据库还有该数据库域下的表时, 在data文件夹下只存在数据库的字符集描述文件和数据库表结构文件,若需要移植数据库, 应该在 该数据库域下, 已就是说 use targetDatabase; 后执行以下语句生成其他两种格式的数据存储文件,


    alter table targetTableName ENGINE = MYISAM ROW_FORMAT = COMPACT;


    对每个表都执行以上语句后, 在看看data文件下的数据库表,其他两种格式都生成出来了.然后在移植, 就不会存在文章开始说的数据库表不存在的错误.

  • 相关阅读:
    nuxt.js 学习与记录
    图片上传预览 接收
    k8s之deployment
    k8s之service
    k8s的一些命令
    ansible 学习
    k8s之ConfigMap && secret
    k8s 之Job/CronJob
    k8s之PV & PVC
    配置ssh免密登录
  • 原文地址:https://www.cnblogs.com/hpuCode/p/2734604.html
Copyright © 2011-2022 走看看