本篇内容主要讲解“怎么使用mysql dump”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用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:UsersQuJianDesktopa.dmp 然后会提示你输入root的密码,就会进入备份过程。
解释:mysqldump是在操作系统界面下执行的,这一点需要牢记。mysqldump是备份命令,告诉mysql我要导出数据,-u表明连接哪一个导出用户,-p用户密码,- -all-databases意思是导出此用户下所有数据库,>指出备份导出的位置,在这里我把他导出到C:UsersQuJianDesktop(桌面)了,备份文件名为a.dmp,这个后缀名不止可以是dmp,还可以是.text,.sql等等,后缀名没啥要求,其实都是sql脚本文件。用Notepad++打开这个备份文件,会发现对于库的备份文件,大概可以分为创建数据库判断语句—删除表—创建表—锁表—禁用索引—插入数据–启用索引—解锁表这几部分。
2、导出用户下某些数据库
mysqldump -uroot -p – -databases oa tsshop>C:UsersQuJianDesktopa.dmp
解释:- -database指明导出哪个库,这里导出了oa和tsshop两个库
3、导出某些表
mysqldump -uroot -p – -database tsshop – -tableshimall_active>C:UsersQuJianDesktopa.dmp
解释:- -table参数表名导出哪些表,用Notepad++打开备份文件,可以发现,备份文件由:删除表–创建表–导入数据组成
4、带条件的表导出
mysqldump -uroot -p – -database tsshop – -tableshimall_active – -where=’id=1′>C:UsersQuJianDesktopa.dmp
mysqldump -uroot -p – -database tsshop – -tableshimall_active – -where=”name=’张三'”>C:UsersQuJianDesktopa.dmp
解释:- -where参数表明导出表的条件
5、只导出表结构不导出具体数据
mysqldump -uroot -p – -databases tsshop – -no-data>C:UsersQuJianDesktopa.dmp
解释:- -no-data参数指定只导出表结构,不导出表数据
6、注意,我们是在客户端操作的,那么,对于前面的每一个导出操作,不论是库还是表,我们都要指出源服务器地址,使用参数- -host
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop – -no-data>C:UsersQuJianDesktopa.dmp
7、导出存储过程和自定义函数
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop – -routines>C:UsersQuJianDesktopa.dmp
解释:- -routines参数指出需要导出存储过程和自定义函数,除了- -all-databases会默认备份存储过程和自定义函数,单独备份数据库,表是不会带存储过程和自定义函数的。
8、导出事件
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events>C:UsersQuJianDesktopa.dmp
解释:- -events参数表示将事件也导出来,除了- -all-databases会默认备份事件,单独备份数据库,表是不会带事件的
9、- -add-drop-database
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events- -add-drop-database>C:UsersQuJianDesktopa.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:UsersQuJianDesktopa.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:UsersQuJianDesktopa.dmp
解释:- -add-locks意思是在导出每个表之前加锁,导出之后再释放锁,这个也是默认打开的,取消这个参数使用- -skip-add-locks
12、- -comments
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events – -comments>C:UsersQuJianDesktopa.dmp
解释:- -comments意思是导出注释信息,取消可以使用- -skip-免费主机域名comments
13、- -force
mysqldump -uroot -p – -host=10.0.0.47 – -databases tsshop- -routines – -events- -force>C:UsersQuJianDesktopa.dmp
解释:- -force意思是忽略导出中的sql错误
14、- -triggers
mysqldump -uroot -p – -host免费主机域名=10.0.0.47 – -databases tsshop- -routines – -events – -triggers>C:UsersQuJianDesktopa.dmp
解释:- -triggers意思是导出触发器,此选项默认开启,不像- -routines – -events 不会默认开启,取消使用- -skip-triggers
三、导入数据
导入方式有两种:
1、直接在操作系统级别上进行导入操作
导入整个库:mysql -h 10.0.0.44 -uroot -p
在这里,我需要特别说一下字符集,因为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
首先登录数据库:
mysql -h 10.0.0.44 -uroot -p- -default-character-set=utf8mb4
然后进行导入操作。
导入整个库:
mysql>source C:UsersQuJianDesktopa.dmp;
将某张表导入tsshop这个库:
mysql>use tsshop;
mysql>sourceC:UsersQuJianDesktopa.dmp;
本篇内容主要讲解“mysql binlog相关知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql binlog相关知识点有哪些”吧! 1.-逻辑日志,记录的是数据库内部的所有变动(sql语句 行的…