MySQL8.0备份和还原
大家的需求都很清楚了,那么我们直接来看如何备份和还原。
下面的命令基于 Manjaro Linux
,在 Windows
下添加命令的 .exe
后缀。
备份
查看备份命令参数 : mysqldump --help
下面的备份的脚本中会带有 drop
create
insert
单库备份
1 | mysqldump -h127.0.0.1 -uroot -p [OPTIONS] [数据库名称] >/var/xxx地址.sql |
单库中单\多表备份
1 | mysqldump -h127.0.0.1 -uroot -p [OPTIONS] [数据库名称] [tables] >/var/xxx地址.sql |
多库备份
1 | mysqldump -h127.0.0.1 -uroot -p [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] >/var/xxx地址.sql |
全库备份
1 | mysqldump -h127.0.0.1 -uroot -p [OPTIONS] --all-databases [OPTIONS] >/var/xxx地址.sql |
常用参数
查看备份命令参数 : mysqldump --help
下面列出常用参数
全称 | 简写 | 含义 | 默认 |
---|---|---|---|
–all-tablespaces | -Y | 备份表空间 | FALSE |
–no-tablespaces | -y | 不备份 | FALSE |
–add-database | -A | 全库备份 | FALSE |
–add-drop-databas | 在建库之前drop | FALSE | |
–add-drop-trigger | 在建触发器之前drop | FALSE | |
–add-drop-table | 在建表之前drop | TRUE | |
–no-create-info | -t | 无create table语句 | FALSE |
–no-data | -d | 无数据 | FALSE |
no-create-db | -n | 无建库语句 | FALSE |
正常的全库备份
1 | mysqldump -h127.0.0.1 -umaxzhao -p -B db_name >backup/mysql_db_name.sql |
设置编码
查看编码
1 | -- 找到character_set_database |
设置编码
1 | mysqldump --default-character-set=utf8mb4 |
PowerShell
导出报错
可以直接指定文件,不适用 shell
的 >
输出。
1 | --result-file=1.sql |
PowerShell
重定向导出的结果是utf-16
数据还原
在命令行执行
1 | mysql -h127.0.0.1 -uroot -p < /var/备份文件.sql |
在 SQL 指令中执行
1 | source /var/备份文件.sql |
错误解决
ERROR at line : Unknown command '\''.
1 | mysql -h127.0.0.1 -uroot -p --default-character-set=utf8 < /var/备份文件.sql |
推荐
MySQL8.0创建用户及其配置
MySQL8.0新特性-新的索引方式
MySQL8.0新特性-通用表表达式(CTE)
MySQL8.0新特性-窗口函数
MySQL8.0新特性-InnoDB增强
MySQL8.0新特性-JSON增强
[官方介绍]([https://dev.mysql.com/doc/refman/8.0/en/create-index.html#create-index-functional-key-parts