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
2
3
-- 找到character_set_database
show
variables like '%char%';

设置编码

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

本文地址: https://github.com/maxzhao-it/blog/post/49206/