mysql导入导出命令与备份数据库的例子

发布时间:2019-07-22编辑:脚本学堂
mysql导入与导出命令的用法,mysql备份数据库与恢复备份文件的方法,phpmyadmin管理工具与mysqldump命令的例子,供大家学习参考。

1、备份数据库
进入cmd
导出所有数据库:输入:mysqldump -u [数据库用户名] -p -a>[备份文件的保存路径]
导出数据和数据结构:输入:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]

例子:

mysqldump -u root -p test>d:test.sql

注意:此备份只备份数据和数据结构,没有备份存储过程和触发器
只导出数据不导出数据结构:输入:mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径]

2、导出数据库中的events
输入:mysqldump -u [数据库用户名] -p -e [数据库用户名]>[备份文件的保存路径]
导出数据库中的存储过程和函数
 

mysqldump -u [数据库用户名] -p -r [数据库用户名]>[备份文件的保存路径]

3、导入数据库
mysql -u root -p<[备份文件的保存路径] 疑问

4、恢复备份文件
进入mysql command line client
先创建数据库:create database test 注:test是创建数据库的名称
再切换到当前数据库:use test
再输入:. d:/test.sql 或 souce d:/test.sql

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

方法一 sql脚本形式

操作步骤:
2.1. 导出sql脚本
在原数据库服务器上,可以用phpmyadmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出sql脚本。

2.1.1 用phpmyadmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“drop database”和“drop table”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的sql文件保存下来。

2.1.2 用mysqldump命令行
命令格式
mysqldump -u用户名 -p 数据库名 > 数据库名.sql

例:
mysqldump -uroot -p abc > abc.sql
(导出数据库abc到abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。

2.2. 创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

2.3. 将sql脚本导入执行
同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。

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

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

gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz文件。

2.3.2 用mysql命令行
命令格式
mysql -u用户名 -p 数据库名 < 数据库名.sql

例:
mysql -uabc_f -p abc < abc.sql
(导入数据库abc从abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。

方法二 直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。

3.1 准备原始文件
用tar打包为一个文件

3.2 创建空数据库

3.3 解压
在临时目录中解压,如:
 

cd /tmp
tar zxf mydb.tar.gz

3.4 拷贝
将解压后的数据库文件拷贝到相关目录
 

cd mydb/
cp * /var/lib/mysql/mydb/
对于freebsd:
cp * /var/db/mysql/mydb/

3.5 权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
 

chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*