windows下Mysql 怎样备份和还原?

windows下Mysql 怎样备份和还原?,第1张

前提是把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

-d>F:\all_struct.sql

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

-t

参数)

mysql

dump

-uroot

-p123456

-A

-t>F:\all_data.sql

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

mysql

dump

-uroot

-p123456

mydb>F:\mydb.sql

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

mysql

dump

-uroot

-p123456

mydb

-d>F:\mydb.sql

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

mysql

dump

-uroot

-p123456

mydb

-t>F:\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

评论

0

0

加载更多

这个要用到mysql下的存取过程了,先把下面的那段代码做为了一个批处理文件,命名为:

mysql_bak.bat

具体的 *** 作步骤如下:

1. 将上面的两段代码分别保存为 mysql_bak.bat 并根据注释修改相关参数

确定好目录之后,运行 mysql_bak.bat 将计划任务添加到系统中。

2. Windows Server 2003 / XP 可以通过 开始,控制面板,计划任务进入计划任务管理界面;

Windows Vista / 7 可以通过 计算机,右键,管理,系统工具,任务计划程序,任务计划程序库,进入计划任务管理界面。

3. 手动运行该任务,查看备份目录来确认下备份是否成功。

具体实现在代码:

@echo off &setlocal ENABLEEXTENSIONS

:: ---------- 配置项 ----------

:: 备份放置的路径,加 \

set BACKUP_PATH=D:\Backup\

:: 要备份的数据库名称,多个用空格分隔

set DATABASES=database1 database2 database3

:: MySQL 用户名

set USERNAME=root

:: MySQL 密码

set PASSWORD=123456

:: MySQL Bin 目录,加 \

:: 如果可以直接使用 mysqldump(安装时添加 MySQL Bin 目录到了环境变量),此处留空即可

set MYSQL=D:\SERVER\MySQL\bin\

:: WinRAR 自带命令行工具的可执行文件路径,长文件名注意用 Dos 长文件名书写方式

set WINRAR=C:\Progra~1\WinRAR\Rar.exe

:: ---------- 以下请勿修改 ----------

set YEAR=%date:~0,4%

set MONTH=%date:~5,2%

set DAY=%date:~8,2%

:: 如果在 dos 下输入 time 返回的不是 24 小时制(没有 0 填充),请自行修改此处

set HOUR=%time:~0,2%

set MINUTE=%time:~3,2%

set SECOND=%time:~6,2%

set DIR=%BACKUP_PATH%%YEAR%\%MONTH%\%DAY%\

set ADDON=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND%

:: create dir

if not exist %DIR% (

mkdir %DIR% 2>nul

)

if not exist %DIR% (

echo Backup path: %DIR% not exists, create dir failed.

goto exit

)

cd /d %DIR%

:: backup

echo Start dump databases...

for %%D in (%DATABASES%) do (

echo Dumping database %%D ...

%MYSQL%mysqldump -u%USERNAME% -p%PASSWORD% %%D >%%D.%ADDON%.sql 2>nul

:: winrar

if exist %WINRAR% (

%WINRAR% a -k -r -s -m1 -ep1 %%D.%ADDON%.rar %%D.%ADDON%.sql 2>nul

del /F /S /Q %%D.%ADDON%.sql 2>nul

)

)

echo Done

:exit


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9934870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存