mysql数据库的备份(导出)和恢复(导入)

2018-02-12  本文已影响0人  懒人的勤奋

这里讲的是Linux系统下的操作

首先你要安装数据库,而且配置好环境变量

现在说说数据库的导出:

mysqldump -h hostname -u username -p databasename > databasename.sql

这里说简单一下这些参数的意义

-h 后面接的是主机名(如果是本机可以不需要)

-u 登录数据库的用户名

-p 后面接的是密码,但是一般不会将密码文明写出来,不写会执行的时候要你输入密码

再说一点,如果需要备份多个数据库需要添加--databases参数

例:

mysqldump -h hostname -u username -p --databases databasename1 databasename2 > backMysql.sql

如果你只想要导出数据库的表结构,可以在数据库前面加个-d参数,这样就不会将数据导出来

导入:

数据库的导入就简单多了,你需要一个备份好的数据库脚本

然后登陆到数据库,执行

source 你的数据库备份的路径

最后说一下mysqldump命令的一些常用参数吧

-d 结构(--no-data:不导出任何数据,只导出数据库表结构)

-t 数据(--no-create-info:只导出数据,而不添加CREATE TABLE 语句)

-n (--no-create-db:只导出数据,而不添加CREATE DATABASE 语句)

-R (--routines:导出存储过程以及自定义函数)

-E (--events:导出事件)

--triggers (默认导出触发器,使用--skip-triggers屏蔽导出)

-B (--databases:导出数据库列表,单个库时可省略)

--tables 表列表(单个表时可省略)

一些参数的组合使用

同时导出结构以及数据时可同时省略-d和-t

同时 不 导出结构和数据可使用-ntd

只导出存储过程和函数可使用-R -ntd

导出所有(结构&数据&存储过程&函数&事件&触发器)使用-R -E(相当于①,省略了-d -t;触发器默认导出)

只导出结构&函数&事件&触发器使用 -R -E -d

所以导出存储过程及函数可以这么写

mysqldump -hhostname -uusername -p -ntd -R databasename > prorandfunc.sql

上一篇下一篇

猜你喜欢

热点阅读