admin 管理员组

文章数量: 887815


2024年1月14日发(作者:create any table)

恢复数据库 — 把.frm,.myd,myi转换为.sql导入数据库

以前的blog服务器瘫痪后终于从客服那里拿回了数据,但是空间商给备份的数据库是一堆.frm,.myd,.myi文件,而现在恢复数据库要求导入.sql文件,我对数据库一窍不通,这可咋整。没办法,又得求助Google,倒腾…磨叽…倒腾……终于给解决了。

先说说这几种文件是干什么的,*.frm是描述了表的结构,*.myd保存了表的数据记录,*.myi则是表的索引。

现在将.frm,.myd,myi转换为.sql有两种方法:

1、把这些乱七八糟的文件一并复制到你的数据库的data下的数据库文件夹,直接就可以使用,无需转换为sql格式。前提是mysql的版本一致,字体一致。此方法简单快捷但不是没个人都能做到。其实根本就无法做到,除非你是在本地测试或者你是个人独霸一台服务器。像我这种用虚拟主机的,空间商一般是不会把数据库目录都给你让你去瞎折腾的,所以此方法基本无用,弃之。

2、在本地安装MySQL数据库,将.frm,.myd,myi转换为.sql,再导入即可。这种方法当然会麻烦一些了,首先得会安装MySQL才行。反正我不大会装,设置也不懂,干脆把安装MySQL的方法也贴在这儿吧,图我就不贴了,只贴文字和每一步要选择的选项,安装的MySQL为当前最新版本5.1.44。

安装MySQL:

MySQL请自行下载,大概一百零几兆,下载后双击打开,出来欢迎安装界面,点Next,出来安装选项,有三种:Typical、Complete、Custom,默认是Typical,建议改成Custom,因为Typical模式不允许改变安装路径,只能安装在C盘(我介绍的就是Custom的安装方法)。点Next,到这一步需要选择要安装的组件和安装路径,组件就用默认的,安装路径自己选择,在根目录下最好,因为后面要用到Dos命令,这样方便。注意:安装mysql的路径中,不能含有中文!一切就绪后点Install,安装很快,完成后是介绍MySQL公司的界面,Next,Next,之后是Setup Wizard界面。帮助用户设置MySQL的,别以为装完了就没事了。这里有两个复选框,Configure the MySQL Server Now和Register the MySQL Server

Now,把第二个对勾取消掉,它是让你注册的,没什么用。点Finish,下面开始配置MySQL。

配置MySQL:

又是欢迎界面,Next,看到两个选项,选择Detailed Configuration,点Next继续,下面这个选项是选择mysql应用于何种类型,第一种是开发服务器,将只用尽量少的内存,第二种是普通WEB服务器,将使用中等数量内存,最后一种是这台服务器上面只跑mysql数据库,将占用全部的内存,我选择第二种,你可根据自己的需求,选择其他选项,点Next继续,下面是选择数据库用途,第一种是多功能用途,将把数据库优化成很好的innodb存储类型和高效率的myisam存储类型,第二种是只用于事务处理类型,最好的优化innodb,但同时也支持myisam,最后一种是非事务处理类型,适合于简单的应用,只有不支持事务的myisam类型是被支持的。一般选择第一种多功能的,Next,下面是选择InnodDB的数据存放位置,一般默认好了,不需要改动,Next继续,下面是选择mysql允许的最大连接数,第一种是最大20个连接并发数,第二种是最大500个并发连接数,最后一种是自定义,你可以根据自己的需要选择,我是直接Next下一步,下面是选择数据库监听的端口,一般

默认是3306,如果改成其他端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,比较麻烦,这里不做修改,用mysq的默认端口:3306,直接Next,这一步设置mysql的默认编码,默认是latin1,我们选第三个选项来手动选择。我们可以根据需要,把它改成gb2312,gbk,或utf-8等等。这要看你需要什么样编码的数据库,空间商给我的一堆文件中有个文件,用文本编辑器打开它就可以看到它的原始编码,是latin1,所以这里我不需要做修改,但是大家用的时候一定要搞清楚你以前使用的数据库是何种编码,这里必须匹配,若不匹配,使用时可能出现乱码。Next继续,这一步是是否要把mysql设置成windows的服务,一般选择设成服务,这样以后就可以通过服务中启动和关闭mysql数据库了。推荐:下面的复选框也勾选上,这样,在cmd模式下,不必非到mysql的bin目录下执行命令。Next,这一步是设置mysql的超级用户密码,这个超级用户非常重要,对mysql拥有全部的权限,请设置好并牢记超级用户的密码,下面有个复选框是选择是否允许远程机器用root用户连接到你的mysql服务器上面,我没这个需求,不动它。Next,配置完毕,直接点Execute执行配置。完成后点Finish,配置完毕。

使用MySQL:

在开始菜单中打开MySQL,你没看错,它就是dos界面,打开后要求输入密码,直接输入我们刚才设置的超级密码,进入,MySQL已经准备接收指令了。哎呀,坏了,MySQL命令我一个都不会吖,有事找Google吖,又是一番搜索。先要建立数据库,用这个命令:create

database dbname; dbname是数据库名称,不要丢了最后的分号,有了分号才是一个完整的MySQL命令。执行后我们就建立了一个名叫dbname的数据库了,下面我们去找MySQL创建的这个数据库到底在哪个目录,找到它后把我们那一堆文件复制进去,就可以进行转换工作了。按照网上的说法,我建立那个名为dbname的数据库时系统就建立了个以数据库名命名的文件夹,这个文件夹位于MySQL安装目录下的data文件夹下,我找了半天根本没有,甚至MySQL安装目录下根本就没有data这个文件夹,再次google,原来是这样,MySQL 安装路径下面有个,用记事本打开 查找 datadir,后面有路径, 我的是 C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server

5.1/Data/

到这个路径下面就能看到dbname文件夹了,把那堆.frm,.myd,myi都复制进来,然后在命令提示符下进入MySQL安装目录下的bin目录,输入mysqldump -uroot -p dbname >

,执行,注意:dbname就是我前面创建的数据库名字。完后你就会在bin目录下发现一个了,怎样,简单吧。但是我在用的时候发现命令提示符下用cd命令已经不能进入bin目录了,甚至不能更改当前目录,不知为何,难道是因为装了MySQL?双击,cmd窗口一闪而逝,命令没法输入吖,咋办,又得想招,还是用批处理吧,简单省事。在bin目录里建立个txt文件,把上面那条命令复制进去,另存为,保存类型选所有文件,上面的文件名随便取,但是要加上扩展名.bat,例如“新建文本文件.bat”,保存。双击刚生成的这个bat文件,搞定。(有的同学不会使用cd命令,google一下便知,例如我输入cd e:aaa,执行后当前目录就是e:aaa了)

至此,转换任务顺利完成。


本文标签: 数据库 安装 选择 目录 文件