c mysql异常处理_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添加自动任务计划来定时处理备份操作批处理。
还原测试;
用命令进入数据库:
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"
c mysql异常处理_mysql 异常处理记录相关推荐
- ASP.NET Core 异常处理与日志记录
ASP.NET Core 异常处理与日志记录 参考文章: (1)ASP.NET Core 异常处理与日志记录 (2)https://www.cnblogs.com/vipyoumay/p/783806 ...
- MySQL存储过程的异常处理
MySQL存储过程的异常处理 参考文章: (1)MySQL存储过程的异常处理 (2)https://www.cnblogs.com/geaozhang/p/6814567.html 备忘一下.
- 基于 abp vNext 和 .NET Core 开发博客项目 - 异常处理和日志记录
基于 abp vNext 和 .NET Core 开发博客项目 - 异常处理和日志记录 转载于:https://github.com/Meowv/Blog 在开始之前,我们实现一个之前的遗留问题,这个 ...
- mysql合并多条纪录字段_Mysql应用mysql合并多条记录的单个字段去一条记录编辑
<MysqL应用MysqL合并多条记录的单个字段去一条记录编辑>要点: 本文介绍了MysqL应用MysqL合并多条记录的单个字段去一条记录编辑,希望对您有用.如果有疑问,可以联系我们.测试 ...
- MySQL记录变化工具_MySQL 表记录数对比工具
工具介绍: 以下介绍一个实时对比两个MySQL实例的中表记录数的工具 checkcount.py . 工具大多用于迁移后或者主从数据快速比较 , 快速验证两个mysql数据库实例每个表是否具有相同记录 ...
- mysql查找并删除记录_mysql 子查询删除记录
mysql 子查询删除记录 mysql 可以通过子查询得到要删除的记录条件,然后通过子查询得结果匹配要删除的记录.但是 mysql 不能直接删除子查询表中的数据,必须通过一个临时表来解决.例如: de ...
- 【MySQL】面试官:如何查询和删除MySQL中重复的记录?
写在前面 最近,有小伙伴出去面试,面试官问了这样的一个问题:如何查询和删除MySQL中重复的记录?相信对于这样一个问题,有不少小伙伴会一脸茫然.那么,我们如何来完美的回答这个问题呢?今天,我们就一起来 ...
- windows mysql 主从_mysql读写分离实战二-windows 上mysql主从数据库搭建及问题总结
根据前篇web项目的搭建后,需要搭建主从数据库,这里在windows服务器上搭建了主从结构的mysql,这里在记录下在本机模拟搭建过程 在windows上安装和linux还是有些不同,不注意就会耽误不 ...
- mysql文件系统_mysql文件系统先睹为快
mysql文件系统先睹为快(目录) 这是一款正在开发中的linux 文件系统,能把linux 上的mysql 数据库作为文件系统来处理.开发小组希望能得到更多的建议,下面的文章翻译自: http:// ...
最新文章
- DevExpress- XPO入门(1)
- php入门时间,PHP入门(8)日期和时间
- 2050 Programming Competition (CCPC)
- PHP 验证码 高洛峰 细说PHP
- 电脑运行卡顿怎么处理_【众点学】电脑运行PS卡顿?可能是你的虚拟内存没设置好!...
- php+控制器+数据库,Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法_PHP...
- php make test 作用,larablog 系列文章 06 - 测试:使用 PHPUnit 进行单元和功能测试
- Petrozavodsk Winter-2018. Carnegie Mellon U Contest
- 曲线积分与曲面积分的计算机应用,曲线积分与曲面积分(解题方法归纳).doc
- 关于GPS坐标系和地图定位偏差
- 数学分析教程(科大)——6.1笔记+习题
- 大厂团队协作工具推荐
- vue 实现打字机效果
- MFC 句柄Hwnd 与 窗口Wnd的联系
- Windows ActiveMq开机自启动设置
- 删除非空目录linux_如何在Linux中删除空的非空目录
- 【C#】字体增大、减小、改变颜色
- 比特(bits),符号(symbol),码片(chips)区别
- vb.net 实现图片圆形渐变模糊
- c语言实数运算1,C语言设计实数四则运算运用MAKEFILE,急用