mySQL数据库在windows环境下备份与恢复
解压版需进入数据库安装目录、安装版可以忽略本步骤:
1.先在运行中输入CMD,启动命令行
2.进入Mysql的Bin目录:E:Program FilesMySQLMySQL Server 5.0in
进入目录常见方式实例:
在命令行输入 E:
在命令行输入 CD "E:Program FilesMySQLMySQL Server 5.0in"
一,数据库备份
第一种:(cmd窗口使用)
在命令提示符用mysqldump命令行备份数据库。
命令格式
mysqldump -u用户名 -p 数据库名 > 保存名.sql
范例:
mysqldump -uroot -p dataname > d:data.sql
(导出数据库dataname到data.sql文件)
提示输入密码时,输入该数据库用户名的密码。
第二种:指定导出备份编码
mysqldump -u root -p密码 --default-character-set=数据编码 数据库名称> data.sql
案例:mysqldump -u root -p123456 --default-character-set=utf8 discuss_chi>d:/data.sql
二,恢复数据库,一共二种方式。
第一种;定义还原编码类型(cmd窗使用)
定义编码导入
mysql -u root -p --default-character-set=utf8 -f dataname<d:/dis.sql
如果乱码使用二进导入
mysql -u root -p --default-character-set=binary -f dataname<d:/dis.sql
第二种:
source 命令(mysql控制台窗口使用)
进入mysql数据库控制台,
如在运行中输入mysql -u root -p
mysql>use databasename;
1、确定数据库默认编码,比如编码为gbk,将读入途径编码同样设为gbk,命令为:
set names gbk;(导入数据出现乱码的时候用平常不用)
2、然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:data.sql;
手动备份:
cmd控制台:
先进入mysql所在的bin目录下,如:cd C:Program FilesMySQLMySQL Server 5.5in
mysqldump -u root -p 数据库 [表名1 表名2..] > 文件路径
比如: 把datacenter数据库备份到 c:datacenter.sql
mysqldump -u root -p datacenter> c:datacenter.sql
如果你希望备份是,数据库的某几张表
mysqldump -uroot -p datacenter user > a.sql
如何使用备份文件恢复我们的数据.
mysql控制台:
source c:datacenter.sql
假如报错:ERROR 1046 (3D000): No database selected
则 mysql 先 use 数据库名,然后再执行source命令
定时自动备份:
1.创建脚本文件:
首先创建一个 bat 文件
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" #表示给变量Ymd赋值为执行该脚本时的年月日,比如为20180505
net use \10.11.2.111sjlrq sjlrq/user:sjlrq #加到随系统自动启动的项目中(建立与备份服务器的用户有效性验证)
解释:net use \IPipc$ "密码" /user:"用户名"
#
-
c$表示C盘,也可以是其他共享目录。administrator是操作系统用户。cattle是administrator的密码。这样就可以在计算机启动时自动通过与备份服务器的用户有效性验证。
subst Z: \10.11.2.111sjlrq #用subst命令将\10.11.2.111c$挂载为本地磁盘:
#这样就将\10.11.2.111c$挂载为本地的E盘了。就可以将数据库直接备份到E盘,实现了将备份放到远程服务器的目的
cd "D:phpstudy_proExtensionsMySQL8.0.12in" #表示切换cmd目录到C:Program FilesMySQLMySQL Server 5.7in中。特别注意 /d 必须加上。否则失败。
mysqldump -uroot -proot zclr > D:备份自动备份目录zclr_%Ymd%.sql
timeout /T 30
copy D:备份自动备份目录zclr_%Ymd%.sql Z: ##拷贝到共享文件夹
@echo on
完整脚本如下:
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
net use \10.11.2.111sjlrq sjlrq/user:sjlrq
subst Z: \10.11.2.111sjlrq
cd "D:phpstudy_proExtensionsMySQL8.0.12in"
mysqldump -uroot -proot zclr > D:备份自动备份目录zclr_%Ymd%.sql
timeout /T 30
copy D:备份自动备份目录zclr_%Ymd%.sql Z:
@echo on
注意:如果 mysqldump.exe 文件路径有空格,则一定要使用""包括
然后双击bat文件,假如运行之后,生成了数据库备份文件,则代表dump.bat文件没有语法错误。
2.添加计划任务:
微软键(键盘上的田字键)+R调出运行窗口,然后输入taskschd.msc启动定时任务设置窗口