我有一个非常奇怪的情况发生在这里.我有一个运行ubuntu 8.10的linux盒子和带有Wordpress安装的MySQL服务器,它为我们公司托管一个内部博客.运行它的机器已经废弃,但我能够将驱动器放入机箱并获取对文件的访问权并恢复MySQL数据文件夹.我们大多是Windows公司,我的Linux经验非常有限.在此计算机崩溃之前,我们正在尝试将此博客移至运行PHP for IIS的Windows虚拟机;我们在MySQL 5.1上启动并运行了Wordpress数据库的旧版本.我目前正在尝试从linux MySQL数据文件夹中检索最新数据并将其导入当前数据库,但我遇到了问题.
到目前为止的问题
1)我不知道linux盒子上安装了什么版本的MySQL
2)我在linux MySQL数据文件夹中看到了ib_logfile0,ib_logfile1和ibdata1,但我不确定它是否真的在运行InnoDB,因为我在wordpress文件夹中也有.frm,.myd和.myi文件
如果我能弄清楚linux盒子的版本MySQL我可能能够创建一个运行linux和MySQL的虚拟机,这样我就可以复制数据文件夹,然后进行导出转储;除非其他人知道更简单的方法将数据导入我当前的数据库.
任何有关此问题的帮助或指导将不胜感激.
谢谢,
弥敦道
解决方法:
我能想到的最干净的方法是只检查一个表:mysql.user
如果你可以登录到mysql,请运行以下查询:
SELECT COUNT(1) column_count FROM information_schema.columns
WHERE table_schema='mysql' AND table_name='user';
以下是您应该得到的答案:
>如果你得到43,MySQL 5.6
>如果你得到42,MySQL 5.5
>如果你得到39,MySQL 5.1
>如果你得到37,MySQL 5.0
如果无法登录mysql,请复制该表
> user.frm
> user.MYD
> user.MYI
到另一台运行mysql的机器.
在另一台机器上运行CREATE DATABASE垃圾;
转到该其他mysql服务器中的datadir
将目录更改为垃圾
将用户表的三个文件复制到其中.如果其他机器是Linux机器,请记得运行chown mysql:mysql user.*
在另一台机器上登录MySQL并运行
DESC junk.user;
它会告诉我之前提到的相同数字.
但是,如果你得到28那就是MySQL 4.1.如果你得到17,那就是MySQL 4.0.玩得开心.
试试看 !!!