如何移值(恢复、还原)Mysql中的innoDB的数据库。
今天搞了一天,终于搞定了。
对于Mysql有两种模式,MYISAM与INNODB
如果是MYISAM的话,在data目录下里会.frm .myd .myi 三种文件,那么直接把DATA移过去,配置好权限就可以还原了。
如果是INNODB的话,那是相当的烦啊。在data目录下只有.frm(这只是一个数据格式),这个移过去后,是无法还原原始数据的。
真正的数据是正放在data目录下的iddata1里。因此,如果有这个文件,那么还是有希望还原的。
但我试了网上所有的文章,都还是提示“数据库里没有表”。
最后我找到了答案。那就是my.ini的配置文件。里面有一项:
innodb_data_home_dir="C:\Program Files\MySQL\MySQL Server 5.1\data"
只要把上面的地址设为你正确的地址就可以了。
记得重启一下mysql (在CMD里输入net stop mysql,然后net start mysql)就可以了还原了。。。
我花了一天时间发现的问题,希望能对同样遇到问题的朋友有所帮助。
总结,对于Mysql还是默认采用MYISAM的比较好,容易转移。数据库与数据库是分开的,不会混在一起。所以可以在My.ini里设一下默认项:
default-storage-engine=MYISAM
good luck!!
相关文档:
linux安装mysql.txt
2009-03-22 10:45
一、引言
想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux ......
linux安装mysql.txt
2009-03-22 10:45
一、引言
想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux ......
(1)获取Mysql数据库的root用户密码和数据库用户名
(2)上传提权php木马,通过连接3389可以知道服务器是2003系统
(3)udf.dll对应操作系统
C:\Winnt\udf.dll 2000
C:\Windows\udf.dll 2003
(4)设置相应的路径后直接导出。
(5)执行以下命令
create function cmdshell returns string soname 'udf ......
进入MySQL:mysql -u root -p password;
退出MySQL:quit/exit;
创建数据库:create database database-name;
显示所有的数据库: show databases; 注意有个s;
删除数据库:drop database databasename;
l连接数据库:use databasename;提示:database changed;
选择当前数据库:select database();
当前数据库所包含的 ......