mySQL数据库在windows环境下备份与恢复
解压版需进入数据库安装目录、安装版可以忽略本步骤:
1.先在运行中输入CMD,启动命令行
2.进入Mysql的Bin目录:E:\Program Files\MySQL\MySQL Server 5.0\bin
进入目录常见方式实例:
在命令行输入 E:
在命令行输入 CD "E:\Program Files\MySQL\MySQL Server 5.0\bin"
一,数据库备份
第一种:(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 Files\MySQL\MySQL Server 5.5\bin
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.111\sjlrq sjlrq/user:sjlrq #加到随系统自动启动的项目中(建立与备份服务器的用户有效性验证)
#
subst Z: \\10.11.2.111\sjlrq #用subst命令将\\10.11.2.111\c$挂载为本地磁盘:
#这样就将\\10.11.2.111\c$挂载为本地的E盘了。就可以将数据库直接备份到E盘,实现了将备份放到远程服务器的目的
cd "D:\phpstudy_pro\Extensions\MySQL8.0.12\bin\" #表示切换cmd目录到C:\Program Files\MySQL\MySQL Server 5.7\bin中。特别注意 /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.111\sjlrq sjlrq/user:sjlrq
subst Z: \\10.11.2.111\sjlrq
cd "D:\phpstudy_pro\Extensions\MySQL8.0.12\bin\"
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启动定时任务设置窗口