您的位置:

windows恢复mysql数据库,mysql数据库文件恢复

本文目录一览:

windows mysql几种备份和 恢复

1、复制date文件夹备份

============================

假想环境:

MySQL 安装位置:C:\MySQL

论坛数据库名称为:bbs

数据库备份目的地:C:\db_bak\

============================

新建db_bak.bat,写入以下代码

*******************************Code Start*****************************

net stop mysql

xcopy c:\mysql\data\bbs\*.* c:\db_bak\bbs\%date:~0,10%\ /S /I

net start mysql

*******************************Code End *****************************

然后使用Windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨3点执行back_db.bat)

解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较灵活,例如,用%date:~0,10%。此方法适合有独立主机但对mysql没有管理经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30M左右的数据库耗时5s左右),针对%date:~0,10%的用法参考 。

2、mysqldump备份成sql文件

==============

假想环境:

MySQL 安装位置:C:\MySQL

论坛数据库名称为:bbs

MySQL root 密码:123456

数据库备份目的地:D:\db_backup\

脚本:

rem *******************************Code Start*****************************

@echo off

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

C:\MySQL\bin\mysqldump --opt -u root --password=123456 bbs D:\db_backup\bbs_%Ymd%.sql

@echo on

rem *******************************Code End*****************************

将以上代码保存为backup_db.bat

然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)

说明:此方法可以不用关闭数据库,并且可以按每一天的时间来名称备份文件。

通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)

3、利用WinRAR对MySQL数据库进行定时备份。

对于MySQL的备份,最好的方法就是直接备份MySQL数据库的Data目录。下面提供了一个利用WinRAR来对Data目录进行定时备份的方法。

首先当然要把WinRAR安装到计算机上。

将下面的命令写入到一个文本文件里

*******************************Code Start*****************************

net stop mysql

c:\progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data

net start mysql

*******************************Code End*****************************

保存,然后将文本文件的扩展名修改成CMD。进入控制面版,打开计划任务,双击“添加计划任务”。在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了。

这种方法缺点是占用时间比较多,备份期间压缩需要时间,mysql断开比第一种方法更多的时间,但是对于文件命名很好。

windows下Mysql 怎样备份和还原?

前提是把MYSQL的安装路径\bin添加到系统环境变量PATH中了。

备份:mysqldump

-u

root

-p123456

kcgl

c:\20090219.sql

mysqldump

备份命令

root

用户名(root管理员)

123456

密码

kcgl

备份的数据库名;

备份符号

20090219.sql

备份的文件名

还原:

mysql

-u

root

-p123456

kcgl

c:\20090219.sql

mysql

还原命令

root

用户名(root管理员)

123456

密码

dbcurr

备份的数据库名;

还原符号

20090219.sql还原的文件名

注意:首先要确保你的mysql

中有kcgl这个库,还原命令是不会自动建库的。

mysqldump

远程备份

mysqldump

-h

ip

-uroot

-proot

database

c:\data.sql

---------其他---------

mysqldump备份:

mysqldump

-u用户名

-p密码

-h主机

数据库

a

-w

"sql条件"

--lock-all-tables

路径

案例:

mysqldump

-uroot

-p1234

-hlocalhost

db1

a

-w

"id

in

(select

id

from

b)"

--lock-all-tables

c:\aa.txt

mysqldump还原:

mysqldump

-u用户名

-p密码

-h主机

数据库

路径

案例:

mysql

-uroot

-p1234

db1

c:\aa.txt

mysqldump按条件导出:

mysqldump

-u用户名

-p密码

-h主机

数据库

a

--where

"条件语句"

--no-建表

路径

mysqldump

-uroot

-p1234

dbname

a

--where

"tag='88'"

--no-create-info

c:\a.sql

mysqldump按导入:

mysqldump

-u用户名

-p密码

-h主机

数据库

路径

案例:

mysql

-uroot

-p1234

db1

c:\a.txt

mysqldump导出表:

mysqldump

-u用户名

-p密码

-h主机

数据库

案例:

mysqldump

-uroot

-p

sqlhk9

a

--no-data

-------------------------------------------------

mysqldump命令介绍

--all-databases,

-A:

备份所有数据库

--databases,

-B:

用于备份多个数据库,如果没有该选项,mysql

dump

把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysql

dum把每个名字都当作为数据库名。

--force,

-f:即使发现sql错误,仍然继续备份

--host=host_name,

-h

host_name:备份主机名,默认为localhost

--no-data,

-d:只导出表结构

--password[=password],

-p[password]:密码

--port=port_num,

-P

port_num:制定TCP/IP连接时的端口号

--quick,

-q:快速导出

--tables:覆盖

--databases

or

-B选项,后面所跟参数被视作表名

--user=user_name,

-u

user_name:用户名

--xml,

-X:导出为xml文件

1.备份全部数据库的数据和结构

mysql

dump

-uroot

-p123456

-A

F:\all.sql

2.备份全部数据库的结构(加

-d

参数)

mysql

dump

-uroot

-p123456

-A

-dF:\all_struct.sql

3.备份全部数据库的数据(加

-t

参数)

mysql

dump

-uroot

-p123456

-A

-tF:\all_data.sql

4.备份单个数据库的数据和结构(,数据库名mydb)

mysql

dump

-uroot

-p123456

mydbF:\mydb.sql

5.备份单个数据库的结构

mysql

dump

-uroot

-p123456

mydb

-dF:\mydb.sql

6.备份单个数据库的数据

mysql

dump

-uroot

-p123456

mydb

-tF:\mydb.sql

7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)

mysql

dump

-uroot

-p123456

mydb

t1

t2

f:\multables.sql

8.一次备份多个数据库

mysql

dump

-uroot

-p123456

--databases

db1

db2

f:\muldbs.sql

还原部分分(1)mysql

命令行source方法

(2)系统命令行方法

1.还原全部数据库:

(1)

mysql

命令行:mysql

source

f:\all.sql

(2)

系统命令行:

mysql

-uroot

-p123456

use

mydb

mysql

source

f:\mydb.sql

(2)

mysql

-uroot

-p123456

mydb

use

mydb

mysql

source

f:\multables.sql

(2)

mysql

-uroot

-p123456

mydb

source

f:\muldbs.sql

(2)

系统命令行:

mysql

-uroot

-p123456

评论

加载更多

windows下的mysql忘记密码的解决之道

有时,我们在Windows操作系统下编程会使用到MySQL数据库。但是有时,我们会忘记数据库的登录密码?当我们忘记了登录密码,无法进入mysql时,该怎么办呢?这里我们提供mysql的登录秘密的修改。

具体方法如下:

1

首先,需要关闭MySQL

Server服务。在“运行”窗口,输入“services.msc”,进入“服务”窗口。

2

在服务窗口,可以找到“MySQL56”,选定,将其“停止”即可。

这样,MySQL

Server服务就停止了。

需要说明的是,这里的“MySQL56”受版本限制。举例来说,如果你的MySQL的版本是5.1,那么此时就是就是“MySQL51”。

当然,也可以在命令行窗口使用“net

stop

MySQL56”来停止服务。

3

接着,需要使用到MySQL的安装位置。如果忘记了,可以在“开始”按钮(Windows键)找到安装“MySQL”文件夹,打开并选择“MySQL

Server

5.6”文件夹,会看到两个Mysql

commond

打开的快捷方式。选择其中的一个查看其属性,就可以找到MySQL的安装位置。

可以看到我们的MySQL位置在“D:\Program

Files\MySQL”

4

其实,我们之所以想知道MySQL的安装位置,是为了获取其下的.ini文件的位置。该文件记录了MySQL的配置信息。如果我们想跳过登录权限,就必须获取该文件的位置。

需要注意的是,不同版本的.ini文件的名称不同,在MySQL

5.1时,它是my.ini,而在MySQL

5.6则是my-default.ini。

5

接着,打开命令行窗口,输入如下的命令:

C:\Users\wangmysqld

--defaults-file="D:\Program

Files\MySQL\MySQL

Server

5.6\my-default.ini"

--console

--skip-grant-tables

需要说明的是,此时该窗口不可再写入。这也是检验命令是否正确执行的一个标准。

6

另外打开一个命令行窗口,输入命令:mysql

-u

root

-p,回车即可进入mysql命令行界面。

7

接下来,只需要修改系统数据库,将密码进行更新即可。

需要使用到的命令是:

mysql-show

database;

mysql-use

mysql

mysql-update

user

set

password=PASSWORD('12345')

where

USER='root';

这样,就将新密码设为了12345。