我想把MySQL数据库打包成一个安装程序,
我用的是免安装的MySQL,版本是5.1.37
我先在数据库中见了一个数据库dvr,让后在dvr下建了一些表。
之后用wise进行打包
把免安装版本下的所有数据到加了进来,包括新建的数据库dvr,
在安装的最后运行了bin目录下的mysqld.exe程序
打包好开始安装
装好后数据库可以连接,在dvr下也可以看到我建的那些表
但是查看表里的数据时显示 Table '表名' doesn't exite大虾们,怎么解决这个问题?
我用的是免安装的MySQL,版本是5.1.37
我先在数据库中见了一个数据库dvr,让后在dvr下建了一些表。
之后用wise进行打包
把免安装版本下的所有数据到加了进来,包括新建的数据库dvr,
在安装的最后运行了bin目录下的mysqld.exe程序
打包好开始安装
装好后数据库可以连接,在dvr下也可以看到我建的那些表
但是查看表里的数据时显示 Table '表名' doesn't exite大虾们,怎么解决这个问题?
能看到表吗?
表名大小写问题?
这样,你仅复制了drv.frm 没有复制相应的数据,则会出现你遇到的这种情况。
select * from dvr.表名小写格式;select * from dvr.表名大写格式;
show variables like '%data%dir%';
这些目录下是否有你的数据文件吧
如果是innodb引擎的话,则表定义文件或数据文件不是放在一起的,有参数指定位置的,如果你手动拷贝文件的话,如果拷贝到的位置本配置文件里面指定的位置不对,则检测不到对应文件,也就会报表不存在的错误
确认下show variables like '%data%dir%'; 目录下文件是否拷贝对了
比如表 table1, 那么 table1 的文件有几个? table1.frm, table1.myd,table1.myd 都有吗?
显示的结果是:
datadir D:\MySQL\mysql-5.1.37-win32\datainnodb_data_home_dir 怎么解决,能不能说详细点,我刚用mysql
如果是innodb或者你在创建数据库和表中用了innodb引擎,就会有问题
由于一些innodb的数据文件你没有打包过来,导致数据丢失2.查找相关数据文件夹mysql> show variables like "%dir%"
-> ;
+----------------------------+--------------------------------------------------
---------------------------------+
| Variable_name | Value
|
+----------------------------+--------------------------------------------------
---------------------------------+
| basedir | C:\Program Files\MySQL\MySQL Server 5.1\
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.1\share\cha
rsets\ |
| datadir | C:\Documents and Settings\All Users\Application D
ata\MySQL\MySQL Server 5.1\Data\ |
| innodb_data_home_dir |
|
| innodb_log_group_home_dir | .\
|
| innodb_max_dirty_pages_pct | 90
|
| plugin_dir | C:\Program Files\MySQL\MySQL Server 5.1\lib/plugi
n |
| slave_load_tmpdir | C:\WINDOWS\TEMP
|
| tmpdir | C:\WINDOWS\TEMP
|
+----------------------------+--------------------------------------------------
---------------------------------+
9 rows in set (0.01 sec)有关innodb的部分你是不是有的数据没有打包