共计 3853 个字符,预计需要花费 10 分钟才能阅读完成。
本篇内容主要讲解“怎么使用 mysql dump”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“怎么使用 mysql dump”吧!
一、在客户端配置 mysql
mysqldump 是一个客户端工具,可以直接将数据备份到到本地。在客户端配置 mysql 非常简单,两步走:
1、去服务端的 bin 目录下直接将 mysql.exe 和 mysqldump.exe 复制到本地,比如我复制到 C:\mysql 下;
2、配置环境变量,将 C:\mysql 直接加入 Path 中就可以了。
二、mysqldump
1、导出某用户下所有数据库,在这里我导出 root 下所有的数据库
mysqldump -uroot -p – -all-databases C:\Users\QuJian\Desktop\a.dmp 然后会提示你输入 root 的密码,就会进入备份过程。
解释:mysqldump 是在操作系统界面下执行的,这一点需要牢记。mysqldump 是备份命令,告诉 mysql 我要导出数据,- u 表明连接哪一个导出用户,- p 用户密码,- -all-databases 意思是导出此用户下所有数据库,指出备份导出的位置,在这里我把他导出到 C:\Users\QuJian\Desktop(桌面)了,备份文件名为 a.dmp,这个后缀名不止可以是 dmp,还可以是.text,.sql 等等,后缀名没啥要求, 其实都是 sql 脚本文件。用 Notepad++ 打开这个备份文件,会发现对于库的备份文件,大概可以分为创建数据库判断语句 — 删除表 — 创建表 — 锁表 — 禁用索引 — 插入数据 – 启用索引 — 解锁表这几部分。
2、导出用户下某些数据库
mysqldump -uroot -p – -databases oa tsshop C:\Users\QuJian\Desktop\a.dmp
解释:- -database 指明导出哪个库,这里导出了 oa 和 tsshop 两个库
3、导出某些表
mysqldump -uroot -p – -database tsshop – -tables himall_active C:\Users\QuJian\Desktop\a.dmp
解释:- -table 参数表名导出哪些表,用 Notepad++ 打开备份文件,可以发现,备份文件由:删除表 – 创建表 – 导入数据组成
4、带条件的表导出
mysqldump -uroot -p – -database tsshop – -tables himall_active – -where= id=1 C:\Users\QuJian\Desktop\a.dmp
mysqldump -uroot -p – -database tsshop – -tables himall_active – -where= name= 张三 C:\Users\QuJian\Desktop\a.dmp
解释:- -where 参数表明导出表的条件
5、只导出表结构不导出具体数据
mysqldump -uroot -p – -databases tsshop – -no-data C:\Users\QuJian\Desktop\a.dmp
解释:- -no-data 参数指定只导出表结构,不导出表数据
6、注意,我们是在客户端操作的,那么,对于前面的每一个导出操作,不论是库还是表,我们都要指出源服务器地址,使用参数 - -host
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop – -no-data C:\Users\QuJian\Desktop\a.dmp
7、导出存储过程和自定义函数
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop – -routines C:\Users\QuJian\Desktop\a.dmp
解释:- -routines 参数指出需要导出存储过程和自定义函数,除了 - -all-databases 会默认备份存储过程和自定义函数,单独备份数据库,表是不会带存储过程和自定义函数的。
8、导出事件
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events C:\Users\QuJian\Desktop\a.dmp
解释:- -events 参数表示将事件也导出来,除了 - -all-databases 会默认备份事件,单独备份数据库,表是不会带事件的
9、- -add-drop-database
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events – -add-drop-database C:\Users\QuJian\Desktop\a.dmp
解释:- -add-drop-database 的意思是在生成的 sql 语句中添加 drop database 语句,这个用于此用户下本来就有这个数据库,在导入之前先删除同名数据库,再新建立数据库。不过我感觉没啥用,因为如果不声明这个参数,sql 语句中就不会创建同名数据库,只用删除表重建表就可以了,照样可以导入数据。
10、- -add-drop-table
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events – -add-drop-table C:\Users\QuJian\Desktop\a.dmp
解释: – -add-drop-table 意思是在导入表之前先删除同名表,这个参数是一个默认参数,如果想取消这个默认参数可以使用 - -skip-add-drop-table
11、- -add-locks
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events – -add-locks C:\Users\QuJian\Desktop\a.dmp
解释:- -add-locks 意思是在导出每个表之前加锁,导出之后再释放锁,这个也是默认打开的,取消这个参数使用 - -skip-add-locks
12、- -comments
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events – -comments C:\Users\QuJian\Desktop\a.dmp
解释:- -comments 意思是导出注释信息,取消可以使用 - -skip-comments
13、- -force
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events – -force C:\Users\QuJian\Desktop\a.dmp
解释:- -force 意思是忽略导出中的 sql 错误
14、- -triggers
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events – -triggers C:\Users\QuJian\Desktop\a.dmp
解释:- -triggers 意思是导出触发器,此选项默认开启,不像 - -routines – -events 不会默认开启,取消使用 - -skip-triggers
三、导入数据
导入方式有两种:
1、直接在操作系统级别上进行导入操作
导入整个库:mysql -h 10.0.0.44 -uroot -p C:\Users\QuJian\Desktop\a.dmp
解释:- h 是目标数据库的地址, 意思是将 a.dmp 导入到 10.0.0.44 这个库
在这里,我需要特别说一下字符集,因为 10.0.44 这个数据库是我新建立的,default-character-set 和 character-set-server 都是 utf8, 但是导出数据由于存在 emoji 字符,所以数据库的字符集是 utf8mb4,这样在导入的时候就会报字符集的错误,因此需要这样解决,首先,修改目标库的字符集,将其修改为 utf8 的超集 utf8mb4,然后再导入数据,导入数据的时候需要加参数 - -default-character-set=utf8mb4,整个导入命令就变成了:
mysql -h 10.0.0.44 -uroot -p – -default-character-set=utf8mb4 C:\Users\QuJian\Desktop\a.dmp
导入某张表:mysql -h 10.0.0.44 -uroot -p – -default-character-set=utf8mb4 tsshop C:\Users\QuJian\Desktop\a.dmp
2、登录数据库执行导入
首先登录数据库:
mysql -h 10.0.0.44 -uroot -p – -default-character-set=utf8mb4
然后进行导入操作。
导入整个库:
mysql source C:\Users\QuJian\Desktop\a.dmp;
将某张表导入 tsshop 这个库:
mysql use tsshop;
mysql source C:\Users\QuJian\Desktop\a.dmp;
到此,相信大家对“怎么使用 mysql dump”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!