记笔记是好习惯,记笔记是好习惯,记笔记是好习惯!

重要的事情说三遍。

说多了都是泪。第一次装MYSQL时候就遇到了很多问题,当时解决了忘记记录了。家里硬盘满了,于是买了个4T的硬盘重装系统。重装系统后开始了开发环境重装。Anaconda3,pycharm,mongodb,pycharm... 到了mysql时候就遇到各种问题。

1、先把mysql-5.7.18-win32从H盘挪到D:\Program Files\mysql-5.7.18-win32。

2、建立配置文件D:\Program Files\mysql-5.7.18-win32\my.ini,内容为

[mysqld]
basedir=D:\Program
Files\mysql-5.7.18-win32
datadir=D:\Program
Files\mysql-5.7.18-win32\data
tmpdir=D:\Program
Files\mysql-5.7.18-win32\MySqltemp
innodb_buffer_pool_size=64M
3、建立tmpdir。必须按照配置中的临时目录配置建立这个临时目录,不然后面启动会报错!!!

4、添加环境变量PATH=D:\Program Files\mysql-5.7.18-win32\bin

5、打开cmd,进入D:\Program Files\mysql-5.7.18-win32\bin,执行mysqld --initialize

6、把D:\Program Files\mysql-5.7.18-win32\data移到D:\Program
Files\mysql-5.7.18-win32\data1,执行mysqld
--install。成功后,就可以在系统的服务里看到mysql开头的服务了。

7、上一步成功后,把生成的data文件夹移为data2文件夹,把刚才的data1移到data。恢复原来数据,如果不备份启动会报错,data文件夹不为空。

8、执行net start mysql,报错无法启动,那么尝试mysqld --remove,反复执行几次。

9、后面终于成功启动了。却连接成功后执行对原数据的一个select后服务瞬间停止。查看日志D:\Program
Files\mysql-5.7.18-win32\data\ZGC-20170506NQH.err 最后一行为:

2017-05-06T15:44:39.138589Z 3 [ERROR] InnoDB: Trying to access page number
1784129 in space 31, space name samp_db/dd_chaptername, which is outside the
tablespace bounds. Byte offset 0, len 16384, i/o type read. If you get this
error at mysqld startup, please check that your my.cnf matches the ibdata files
that you have in the MySQL server.

多查了下,发现是日志和数据不匹配。参看:https://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html

10、于是在my.ini中添加innodb_force_recovery = 6 重启服务,再连进去查询,终于恢复了!!!

特意写了这篇日志记录下解决过程。

MYSQL-重做系统恢复MYSQL过程的更多相关文章

  1. MySQL权限系统(二). MySQL提供的特权 Privileges Provided by MySQL

    MySQL provides privileges that apply in different contexts and at different levels of operation: Adm ...

  2. mysql重做日志

    一.重做日志(redo log) 1.作用 确保事务的持久性. 防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性. 2 ...

  3. mysql:恢复mysql表结构

    mysql,frm格式恢复mysql表结构,以tuser.frm格式为例   新增数据库,如下,创建数据库名为ab   打开数据库,双击打开数据库   点右键新建表结构   新增表,里面只添加一个字段 ...

  4. 电脑重装系统后如何恢复Mysql数据库

    电脑重装系统后如何恢复Mysql数据库 一.[设置mysql的path]

  5. 电脑重装系统后如何恢复 Mysql 数据库

    电脑重装系统后如何恢复 Mysql 数据库 一.[设置mysql的path] 比如:我的mysql在:D:\DataBase\mysql-5.7.13-winx64,可以在环境变量中重新新建一个环境变 ...

  6. Linux系统下MySQL数据库的备份和恢复

    当我们MySQL数据库保存重要数据的时候,备份工作极为重要.本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据库中的数据备份成一个文本文件,也可将备份好的数据库迁移到另一台的服务 ...

  7. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

  8. MySQL日志系统

    body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...

  9. MySQL备份与还原详细过程示例

    MySQL备份与还原详细过程示例 一.MySQL备份类型 1.热备份.温备份.冷备份 (根据服务器状态) 热备份:读.写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份:读.写操作均中止: 2 ...

随机推荐

  1. 编写shell脚本需要特别关注的注意点

    shell脚本中的条件判断句式 1. if [ condition ];then statement fi 2. If [ condition ];then statement elif [ cond ...

  2. Java之Java程序与虚拟机

    Java为什么要在虚拟机中运行 简单的来说,Java作为一门高级程序语言,语法复杂,抽象度高,不能直接翻译为机器码在机器上运行,所以设计者就设计了虚拟机,通过编译器将Java程序转换成虚拟机所能识别的 ...

  3. spring管理hibernate,mybatis,一级缓存失效原因

    mybatis缓存:一级缓存和二级缓存 hibernate缓存:一级缓存和二级缓存 关于缓存: 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器, 其作用是为了减少应 ...

  4. android 布局的两个属性 dither 和 tileMode

    tileMode(平铺)tileMode(平铺) 的效果类似于 让背景小图不是拉伸而是多个重复(类似于将一张小图设置电脑桌面时的效果) dither(抖动) Dither(图像的抖动处理,当每个颜色值 ...

  5. 解题:SCOI 2005 骑士精神

    题面 我把这个当做IDA*的模板题的说,说说我个人对IDA*的理解 IDA*是一个DFS,和A*一样,它也有一个乐观的估价函数.这里这个估价函数是用来限制状态的扩展的,如果当前代价加上乐观的估计都无法 ...

  6. 用递归的方法求一个数组的前n项和

    用递归的方法求一个数组的前n项和 public class Demo1 { /* * 用递归的方法求一个数组的前n项和 */ public static void main(String[] args ...

  7. Android am命令使用

    一.开启Activity.服务.广播 1.开启Activity.服务.广播基础知识 通过adb shell,可以使用activity manager(arm)工具来执行不同的系统操作,如开启一个act ...

  8. Linux最大文件句柄(文件描述符)限制和修改

    转自:http://jameswxx.iteye.com/blog/2096461 写这个文章是为了以正视听,网上的文章人云亦云到简直令人发指.到底最大文件数被什么限制了?too many open ...

  9. Docker图形界面管理之DockerUI

    DockerUI DockerrUI是一个基于Docker API提供图形化页面简单的容器管理系统,支持容器管理.镜像管理. 1.1 下载镜像 docker pull abh1nav/dockerui ...

  10. python基础之模块之sys模块

    sys模块的功能 sys是python中较为常用的一个模块,他提供了对python脚本运行时的环境的操作. sys功能: 1  sys.argv     #将python脚本运行时的脚本名以及参数作为 ...