`
jsamson
  • 浏览: 117806 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 异常处理记录

阅读更多

操作系统:Windows Server 2012 Datacenter

转换目录:

1、先转到盘符,如 cd c:\

2、再转到目录,如 cd "Program Files (x86)\MySQL\MySQL Server 5.1\bin" ,注意,一定要加双引号

 

进入mysql

启动 net start mysql

停止 net stop mysql

其中启动数据库异常可以根据错误码查找

 

本次启动异常出现1067

解决办法

1、将“C:\ProgramData\MySQL\MySQL Server 5.1\data”目录下面的三个文件删除,一定要先备份再删除(ibdata1是存放类型InnoDB ,与myisam 区别可以找度娘):

ibdata1 ib_logfile0 ib_logfile1

2、重启mysql即可

 

进入bin目录下面运行 mysql.exe,其他exe文件一样操作方式

./mysql -uroot -p

到这里进入后,show tables正常,能显示表

但是无法select 结果,提示类似异常“MySQL Server Error:Table 'test.pw_forums' doesn't exist ( 1146 )... ”

解决办法

1、将备份的ibdata1尝试恢复,重启mysql

2、若上面不行,尝试从其他地方将表结构与数据重新导入

3、以上都不行,只能将数据库删除,重新创建库与表(此办法是没办法的办法,缺点是历史数据丢失)

 

 

数据库备份:

1、编写批处理命令:

文件内容如下 :

 

@echo off

echo.

echo      MySQL数据库备份

echo *****************************

echo.

echo 今天是 %date%

echo 时间是 %time%;

echo.

echo *****************************

set "Ymd=%date:~6,4%%date:~3,2%%date:~,2%"

set "tm=%time:~,2%%time:~3,2%%time:~6,2%"

if not exist "C:\数据备份\%Ymd%" md "C:\数据备份\%Ymd%"

"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" --opt -Q 库名 -uroot -p密码 > "C:\数据备份\%Ymd%\备份名%tm%.sql"

echo.

echo MySQL数据库备份完成,请进行检查!

echo.

echo.

exit

 

=========结束=====

注意:日期格式为 20/10/2014 时间格式为 12:12:10.15

2、Windows Server 2012添加自动任务计划来定时处理备份操作批处理。

可以参考资料:http://wenku.baidu.com/link?url=FEo06KuTO26NeVltVnilOx7J74RpCK5WVlXSzzqOqyOX_NpBiSWze6PybkKOO4PJXY7gWT_KPv5sacx1s7A5ZqLxaYQPjT-XHgcY6dUNbU_

 

 

还原测试;

用命令进入数据库:

1、cd 进入mysql bin目录  ./mysql -uroot -p123456

2、create database test_test;

3、use test_test 进入相应库,然后导入命令,mysql>source d:\wcnc_db.sql

4、之后可以正常命令查看表结构及数据。

 

 

另一种方式:

 

MySQL数据库恢复(使用mysqlbinlog命令)

binlog是通过记录二进制文件方式来备份数据,然后在从二进制文件将数据恢复到某一时段或某一操作点。

1:开启binlog日志记录
修改mysql配置文件mysql.ini,在[mysqld]节点下添加 

# log-bin
log-bin = E:/log/logbin.log

路径中不要包含中文和空格。重启mysql服务。通过命令行停止和启动mysql服务

c:\>net stop mysql;
c:\>net start mysql; 

 

进入命令行进入mysql并查看二进制日志是否已经启动
Sql代码 

mysql>show variables like 'log_%';

日志成功开启后,会在E:/log/目录下创建logbin.index和logbin.000001两个文件。logbin.000001就是数据库的备份文件,以后就可以通过此文件对数据库进行恢复操作。

2:查看备份的二进制文件
Sql代码

c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001


日后记录的操作多了,命令行方式基本就用不上了。可以使用将日志导出文件的方式来查看日志内容
2.1 导出
txt代码

c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 > e:/log/log.txt

">": 导入到文件中; ">>": 追加到文件中
如果有多个日志文件
Sql代码
c:\mysql\bin\> mysqlbinlog e:/log/logbin.000001 > e:/log/log.sql
c:\mysql\bin\> mysqlbinlog e:/log/logbin.000002 >> e:/log/log.sq

2.2 按指定位置导出:
Sql代码
c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 > e:/log/log3.txt

2.3 按指定时间导出:
Xml代码
:\mysql\bin\>mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 > e:/log/log_by_date22.txt

3:从备份恢复数据库
做了一次更新操作,之后日志的内容如下:

 

3.1 恢复:
Sql代码 

c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 | mysql -u root -p


3.2 按指定位置恢复:
Sql代码

c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 | mysql -u root -p


3.3 按指定时间恢复:
Xml代码

c:\mysql\bin\>mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 | mysql -u root -p

3.4 通过导出的脚本文件恢复

Sql代码

c:\mysql\bin\>mysql -e "source e:/log/log.sql"

4.其他常用操作
4.1 查看所有日志文件

Sql代码
mysql>show master logs;

4.2 当前使用的binlog文件

Sql代码

mysql>show binlog events \g;

4.3 产生一个新的binlog日志文件
Sql代码
mysql>flush logs;


4.4 删除所有二进制日志,并从新开始记录(注意:reset master命令会删除所有的二进制日志)
Sql代码

mysql > flush logs;
mysql > reset master;


4.5 快速备份数据到sql文件

Sql代码 

c:\mysql\bin>mysqldump -u root -p --opt --quick interactive > e:/log/mysqldump.sql


为了方便查看,把从脚本恢复的命令在写一次
Sql代码 

 c:\mysql\bin\>mysql -e "source e:/log/mysqldump.sql"

 

转载:http://www.jb51.net/article/27919.htm 

 

 

分享到:
评论

相关推荐

    MySQL存储过程的异常处理方法

    本实例展示了如何在MySQL存储过程中实现异常处理,以捕获并处理可能出现的错误。 首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个...

    [MySQL] 存储过程错误异常处理例子

    本篇文章将详细探讨如何在MySQL的存储过程中使用`DECLARE EXIT HANDLER FOR SQLEXCEPTION`来实现错误异常处理。 首先,我们需要了解存储过程的基本结构。一个存储过程通常由`CREATE PROCEDURE`语句定义,包括参数...

    阿里大牛何sir 深入MySQL加锁处理分析

    在深入分析MySQL加锁处理之前,首先需要了解MySQL数据库的基本架构以及锁机制的相关概念。MySQL是一个支持插件式存储引擎的数据库系统,其中InnoDB存储引擎因其支持事务处理和外键约束而被广泛使用。本文将重点讨论...

    mysql插入记录防止乱码

    通过对MySQL中各个层级的字符集设置进行合理调整,并确保应用程序正确处理字符集转换,可以有效避免在插入记录时出现乱码问题。此外,建议定期审查和更新数据库及相关应用的字符集设置,以适应不断变化的需求和技术...

    mysql常见异常 mysql常见异常

    MySQL是世界上最流行的关系型数据库管理系统之一,然而在日常使用中,由于各种原因,我们可能会遇到各种异常和错误。这些异常通常以错误代码的形式出现,帮助我们识别问题所在并找到解决方案。以下是一些常见的MySQL...

    tp5yi异常处理类资源

    在ThinkPHP5.1中,异常处理是通过自定义异常类和全局异常处理器来实现的,这使得开发者能够更灵活地控制应用程序在遇到错误时的行为,比如返回友好的错误页面、记录日志或者发送报警邮件。 异常处理在编程中扮演着...

    基于监控数据的MySQL异常检测算法.pdf

    基于监控数据的MySQL异常检测算法,它的出现打破了传统异常检测方法的局限性,特别是在处理大数据环境下的监控数据波动问题上,展示出了显著的优势。通过无阈值的模式识别,算法不仅提高了异常检测的准确性,而且...

    MySql存储过程异常处理示例代码分享

    MySQL存储过程异常处理是数据库开发中的重要组成部分,它允许开发者在遇到错误时进行优雅的控制流程,而不是让程序中断。在存储过程中,异常处理通常涉及捕获错误、记录错误信息,甚至在某些情况下,继续执行后续的...

    MySQL存储过程 ERROR Handler 异常处理.doc

    MySQL存储过程中的ERROR Handler是用于异常处理的关键机制,它允许开发者在遇到错误时进行定制化的响应,而不是让整个过程崩溃。在存储过程中,错误处理通常涉及声明一个或多个HANDLER,这些HANDLER会在特定错误发生...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle...记录每一条有异常的数据。并提供工具重复执行。 全面优化数据库操作,让大数据量的处理更少等待。

    linux mysql数据库无法启动故障处理

    Linux MySQL 数据库无法启动故障处理 在 Linux 系统中,MySQL 数据库无法启动是非常常见的故障之一。今天,我们一起解决两个常见的错误:mysql PID file not found 和 Can't connect to MySQL through socket mysql...

    Oracle MySQL数据库故障处理应急方案

    Oracle MySQL数据库故障处理应急方案是一系列针对数据库在运行过程中可能遇到的锁等待、latchfree、cachebufferchains以及librarycachelock等高资源消耗和CPU负载问题的处理方法和步骤。该方案详细描述了上述问题的...

    Java处理Mysql.zip

    在实际开发中,可能还需要考虑事务管理、异常处理、连接池(如C3P0或HikariCP)等高级特性,以确保数据的完整性和提高应用的性能。 总结来说,"Java处理MySQL"意味着你需要掌握基本的SQL语法,熟悉Java的JDBC API,...

    MySQLHelper类 C#

    它们可能在实现细节、性能优化或异常处理上有所差异。开发者可以根据项目需求选择适合的版本,或者将两者合并,取长补短。 总之,MySQLHelper类是C#开发中与MySQL数据库交互的一个便利工具,它简化了数据库操作的...

    易语言连接mysql数据库来实现读取写入修改实例

    易语言提供了“捕获异常”命令来处理这类异常,确保程序的稳定运行。 至于"set.ini"文件,这可能是用来存储配置信息的,如数据库连接参数,方便程序读取和重用。而"image"文件可能是用于界面设计的图像资源,提升...

    关于egg + mysql的学习记录.zip

    总结起来,“关于egg + mysql的学习记录”涵盖了如何在Egg.js项目中设置和使用MySQL数据库,包括安装插件、配置连接、编写Service和Controller、以及处理数据操作的各个方面。掌握这些技能,将有助于开发者构建稳定...

    shell脚本可配置备份mysql5.7.8以前数据库异常sendEmail25发邮件.rar

    这篇文档将深入解析标题"shell脚本可配置备份mysql5.7.8以前数据库异常sendEmail25发邮件.rar"中的关键知识点,包括shell脚本、MySQL数据库备份、异常处理以及sendEmail服务。 首先,我们要了解shell脚本。Shell...

    MySQL 5.7 版本驱动包

    此外,了解JDBC异常处理、批处理操作、存储过程的调用等也是必备的知识点。在实际开发中,你可能还需要关注性能优化、连接池的配置、错误处理以及日志记录等方面的内容。 在下载并解压“MySQL 5.7 版本驱动包”后,...

    MySQL驱动包.zip

    10. **错误处理和日志记录**:完善的异常处理机制和日志记录能力,帮助开发者诊断和解决问题。 使用此驱动包,开发者可以通过以下步骤连接到MySQL数据库: 1. 将`mysql-connector-java-8.0.13.jar`添加到项目的类...

Global site tag (gtag.js) - Google Analytics