• 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文件下的数据库表,其他两种格式都生成出来了.然后在移植, 就不会存在文章开始说的数据库表不存在的错误.

  • 相关阅读:
    FFmpeg 协议初步学习
    HTML DOM(一):认识DOM
    ant 安装
    ubunut 查看port被哪个程序占用
    cacti气象图调整(批量位置调整、更改生成图大小等)
    内网port映射具体解释(花生壳)
    HDU 2647 Reward(图论-拓扑排序)
    白话经典算法系列之七 堆与堆排序
    Codeforces Round #191 (Div. 2)---A. Flipping Game
    Serverlet具体解释
  • 原文地址:https://www.cnblogs.com/hpuCode/p/2734604.html
Copyright © 2020-2023  润新知