操作系统: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 = E:/log/logbin.log
路径中不要包含中文和空格。重启mysql服务。通过命令行停止和启动mysql服务
c:\>net stop mysql;
c:\>net start mysql;
进入命令行进入mysql并查看二进制日志是否已经启动
Sql代码
日志成功开启后,会在E:/log/目录下创建logbin.index和logbin.000001两个文件。logbin.000001就是数据库的备份文件,以后就可以通过此文件对数据库进行恢复操作。
2:查看备份的二进制文件
Sql代码
日后记录的操作多了,命令行方式基本就用不上了。可以使用将日志导出文件的方式来查看日志内容
2.1 导出
txt代码
">": 导入到文件中; ">>": 追加到文件中
如果有多个日志文件
Sql代码
c:\mysql\bin\> mysqlbinlog e:/log/logbin.000002 >> e:/log/log.sq
2.2 按指定位置导出:
Sql代码
2.3 按指定时间导出:
Xml代码
3:从备份恢复数据库
做了一次更新操作,之后日志的内容如下:
3.1 恢复:
Sql代码
3.2 按指定位置恢复:
Sql代码
3.3 按指定时间恢复:
Xml代码
3.4 通过导出的脚本文件恢复
Sql代码
4.其他常用操作
4.1 查看所有日志文件
Sql代码
4.2 当前使用的binlog文件
Sql代码
4.3 产生一个新的binlog日志文件
Sql代码
4.4 删除所有二进制日志,并从新开始记录(注意:reset master命令会删除所有的二进制日志)
Sql代码
mysql > reset master;
4.5 快速备份数据到sql文件
Sql代码
为了方便查看,把从脚本恢复的命令在写一次
Sql代码
c:\mysql\bin\>mysql -e "source e:/log/mysqldump.sql"
转载:http://www.jb51.net/article/27919.htm