mysql在windows下备份还原

时间:2021-11-06 02:13:09
本文转自: 点击打开链接

MySQL数据库在windows环境下备份与恢复

1. 概述
MySQL数据库的导入,有三种方法:
1) 先导出数据库SQL脚本,再导入;
2) 直接拷贝数据库目录和文件。
在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。

一,数据库备份,一共三种方式。

第一种:
用mysqldump命令行备份数据库。
命令格式
mysqldump -u用户名 -p 数据库名 > 保存名.sql
范例:
mysqldump -uroot -p dataname > d:\abc.sql
(导出数据库data到abc.sql文件)

提示输入密码时,输入该数据库用户名的密码。

第二种: 指定导出备份编码
mysqldump -u root -p密码 --default-character-set=数据编码 数据库名称> file.sql
案例:mysqldump -u root -p123456 --default-character-set=utf8 discuss_chi> 1.sql

第三种
用phpMyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的SQL文件保存下来。

二,恢复数据库,一共二种方式。

第一种:
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use databasename;
1、确定数据库默认编码,比如编码为gbk,将读入途径编码同样设为gbk,命令为:
set names gbk;(导入数据出现乱码的时候用平常不用)
2、然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\wcnc.sql

第二种;定义还原编码类型
定义编码导入
mysql -u root -p --default-character-set=utf8 -f dataname<dis.sql
如果乱码使用二进导入
mysql -u root -p --default-character-set=binary -f dataname<dis.sql

第三种:
用phpMyAdmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。

注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz文件。

提示输入密码时,输入该数据库用户名的密码。


方法四
直接拷备MySQL安装目录下DATA目录的数据库即可

注:备份最好两个方法都做

如果导入导出出现乱码请使用下面方便备份还原试试(导出和导入都使用二进方式

导出
mysqldump -u root -p --default-character-set=binary discuss_chi> dis.sql
导入
mysql -u root -p --default-character-set=binary -f discuss_chi<dis.sql