重装操作系统-mysql数据库还原

  • 背景

 由于电脑跑起来越来越慢,所以上面讲硬盘换成ssd(固态硬盘),以增加读写速度。于是得重装操作系统,心里一万个不愿意。(因为不想装那么多的软件) 

  • 问题

晚上忙了几个小时把一些软件装好了之后接下来是安装mysql数据库,擦,由于大意之前忘记备份了。导致本地数据都没了。

  • mysql数据恢复

但是幸运的是我换了硬盘,以前的文件都还在的,所以/mysql/data/还在,目的:讲以前的mysql数据库中的数据还原到现在的操作系统上面

  1. 安装好mysql(这个不多说,都懂得)
  2. 找到你以前的系统盘(如C:)中的 \ProgramData\MySQL\MySQL Server 5.5\data\ , mysql所有的表结构都在这里
  3. 讲2中的文件复制(注意不要复制ib_logfile0,ib_logfile1这两个文件)
  4. 讲3中的文件粘贴到你现在系统盘(如C:)中的 C:\ProgramData\MySQL\MySQL Server 5.5\data\下面 (粘贴的时候讲mysql服务stop)
  5. 接下来就是讲INNODB的数据文件复制过来
  6. 在你安装mysql的时候会引导你innodb文件放置在哪里,你就找到这个文件,复制ibdata1 文件,我的文件夹中只有这一个文件,一般比较大。我的(H:\MySQL Datafiles\)
  7. 讲6的文件粘贴到你新安装mysql的innodb文件位置 。我的(D:\ProgramData\mysql\),粘贴好之后就可以了
  8. 启动mysqld服务,完成
  • 反思

以后装系统前切记:先备份数据库文件,尤其是系统默认盘下面的C:\ProgramData\MySQL\MySQL Server 5.5\data\的表结构文件(ib_logfile0,ib_logfile1除外)和数据文件ibdata1(路径是你安装mysql时候制定的,我现在的路径是D:\ProgramData\mysql\)

ps: 打开mysqld服务后,navicat登陆上去查询出来的都不是乱码,我设置了 mysql 的默认编码为 utf-8 ; 但是当我用windows的dos去mysql -u -p的时候它查出的中文是乱码。估计应该是客户端dos的问题,只需执行        mysql> set character_set_results='gbk';即可,只是每次都得执行一次,但是有修改mysql的编码方法(不建议)。因为mysql上面的数据不是你一个人在用。

console的默认是 936(ANSI/OEM-简体中文GBK),用dos的命令 chcp即可修改和查看代号,但是我修改为utf-8( 代号为65001 )后没有解决mysql显示乱码的问题。

 

猜你喜欢

转载自hebad90.iteye.com/blog/1922929