本文目录一览:
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。