目录
简介
- MySQL Shell 是 MySQL 官方新一代客户端工具,可替代传统
mysql命令行,支持使用Python、SQL等多种交互模式,是 8.0+ 主推工具。 - 最让我惊喜的是它的备份恢复功能,执行速度碾压
mysqldump。本文也主要讲这块。
安装
- Linux (以 Ubuntu/Debian 为例)
bash
sudo apt install mysql-shell

如果不用最新版本先用命令看支持哪些版本
apt-cache madison mysql-shell
安装命令 : sudo apt install mysql-shell=版本
-
Windows 下载地址:https://dev.mysql.com/downloads/shell/ ,可能你不需要最新版本,可点击
Archives进入存档版本。
-
选择的版本尽量和 MySQL 服务端版本接近,版本差距过大容易出现兼容性报错。
备份库
- 先登陆
bash
mysqlsh -uroot -p -h192.168.23.166 -P3306

- 备份库(以
test库为例)
bash
util.dump_schemas(["test"], "/tmp/test_bak", {"threads": 4,"consistent": True,"showProgress": True})
- 重要参数解释:
threads : 线程数
consistent : 开启一致性快照备份
showProgress:控制台打印实时导出进度条、已导出行数、剩余预估,可视化进度

恢复库
- 依然是先登陆
bash
mysqlsh -uroot -p -h192.168.23.166 -P3306
- 切换到sql模式执行,设置允许客户端从自己本地电脑 / 客户端服务器读取文件。
bash
\sql
SET GLOBAL local_infile = ON;

- 切换到python模式,恢复库(恢复到
test_v2为例)
bash
\py
util.load_dump("/tmp/test_bak", {"threads": 4, "schema": "test_v2"})

-
查看结果成功

-
使用了
local_infile完成后关闭。
bash
\sql
SET GLOBAL local_infile = OFF;