如何移值(恢复、还原)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!!
相关文档:
为了给G准备论文,想直接用一个项目。
那个项目原来用的数据库是ORACLE,但他的机器配置低,内存只有256M,跑ORALCE了太吃力了。于是就想把数据库部分移植到MYSQL。自己先
做实验,年前就装了,现在想做移植,ROOT密码给忘了。倒是可以重装,可那一定不是最佳解决方案。
UNIX版
1.先停掉mysql
# /etc/rc.d/init.d/mys ......
/**********************************
APACHE
***********************************/
编辑参数:
./configure" \
"--prefix=/usr/local/apache" \
"--enable-so" \
"--enable-ssl" \
"--enable-mods-shared=most" \
"--with-mpm=event" \
"--with-ssl=/usr/local/openssl" \
"--enable-cache" \
"--enable-mem- ......
在DOS中进行MySQL的访问可能乱码的情况有三种,
首先,要做的是检查MySQL的配置,安装的时候选择utf-8的语言环境会省去很多的麻烦
1. 检查MySQL的服务端、客户端的语言设置是否为“utf8”,不是的话手动将my.int更改过来;
2. 在PHP进行第一次mysql_query之前设置使用连接的字符集为"SET N ......
(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();
当前数据库所包含的 ......