今天在实际开发中对于 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;
评论0
最新资源