说明:以下导入导出均在同一版本的MySQL数据库中进行,比如5.7.25与5.7.33;至于不同大版本之间如5.6与5.7或者8.0之间暂未实践。
提醒:导入之前务必备份。
一、导出
提示:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
(不用管)
方法一、指定数据库导出
mysqldump -u[username] -p[password] -h[hostname] --databases db1 db2 > d:/db_bak.sql
# 示例 Windows
mysqldump -uroot -p123456 -B mydb > d:/mydb_bak.sql
# 示例 Linux
mysqldump -uroot -p123456 -B mydb > /root/mydb_bak.sql
方法二、指定数据库导出 - gzip压缩并导出(推荐)
mysqldump -u[username] -p[password] -h[hostname] -B db1 db2 | gzip > d:/db_bak.sql.gz
# 示例 Windows(需借助cmder或者Git Bash执行)
mysqldump -uroot -p123456 -B mydb | gzip > d:/mydb_bak.sql.gz
# 示例 Linux
mysqldump -uroot -p123456 -B mydb | gzip > /root/mydb_bak.sql.gz
Windows下使用cmder,请下载cmder使用;也可下载安装Git Bash使用。
参数说明:
- username: 用户名,如root
- password: 用户密码,如果密码有特殊符号,可加单引号,如-p'password'
- hostname: 主机名(如果是本机导出,可以省略-h)
- --databases:与
-B
相同- db1 db2:需要导出的数据库,有几个,就写几个,中间用空格隔开
- gzip:导出的文件进行压缩
二、导入
说明:导入的数据库可以预先不用创建;默认字符集和排序规则一致
# Linux 登陆mysql命令行,执行以下命令(备份脚本已上传至/root目录下)
mysql> source /root/db_bak.sql
# Windows 登陆mysql命令行,执行以下命令(备份脚本已上传至d盘根目录下,可将结尾为sql.gz的备份文件解压缩后使用以下命令)
mysql> source d:/db_bak.sql
# 不需要登录直接执行
mysql -u[username] -p[password] -h[hostname] < d:\db_bak.sql
# 不需要登录直接执行 - 压缩版(在linux上执行)
gunzip < /root/db_bak.sql.gz | mysql -u[username] -p[password] -h[hostname]
网友评论