mysql - CloudSQL 实例上的备份/恢复
问题描述
我们计划将我们的CloudSQL
实例从Public to Private IP
. 由于我们正在迁移到Google 尚未支持现有实例的 on a ,因此我们计划使用 on a 创建新实例Private IP
并从旧实例恢复备份。以下是我基于场景的查询。SharedVPC
private IP
sharedVPC
- 有什么方法可以检查现有数据库的大小
CloudSQL instances
? - 存储备份的位置。是它
Cloud Storage
还是DB disk
? - 我们可以
CloudSQL instance with a private IP
从我的desktop
using 中访问IAP tunneling
吗?
请澄清。
解决方案
在这里,我向您提出问题:
1. 有什么方法可以检查 CloudSQL 实例中现有数据库的大小?
就在这里。这取决于您使用的数据库引擎(mysql、postgres 或 mssql)
对于mysql,您可以运行:
SELECT table_schema "DB Name",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
FROM information_schema.tables
GROUP BY table_schema;
对于postgres,您可以运行:
SELECT pg_size_pretty(pg_database_size('Database Name'));
对于mssql,您可以运行:
SELECT
database_name = DB_NAME(database_id)
, log_size_mb = CAST(SUM(CASE WHEN type_desc = 'LOG' THEN size END) * 8. / 1024 AS DECIMAL(8,2))
, row_size_mb = CAST(SUM(CASE WHEN type_desc = 'ROWS' THEN size END) * 8. / 1024 AS DECIMAL(8,2))
, total_size_mb = CAST(SUM(size) * 8. / 1024 AS DECIMAL(8,2))
FROM sys.master_files WITH(NOWAIT)
WHERE database_id = DB_ID() -- for current db
GROUP BY database_id
2.备份存储在哪里?是云存储还是数据库磁盘?
云储存。当您进行 Cloud SQL 导出时,导出文件存储在 Cloud Storage 中。从 Cloud Storage,您可以将其下载/移动到其他位置。
3. 我们可以使用 IAP 隧道从我的桌面访问具有私有 IP 的 CloudSQL 实例吗?
不,用于 TCP 转发的 IAP 隧道(又名 IAP)旨在与 Google Cloud 计算引擎实例一起使用。引用文档:
IAP 的 TCP 转发功能允许用户连接到 Compute Engine 实例上的任意 TCP 端口。
还有此功能请求以扩展 IAP TCP 转发的功能以涵盖 Cloud SQL 实例。然后我建议给问题跟踪器加注星标并分享您的反馈,以便增加线程相关性。
连接到仅使用私有 IP 的 Cloud SQL 实例的另一种方法是使用具有外部公共地址的堡垒主机,该地址将所有 TCP 流量转发到您的 Cloud SQL 实例。
希望这个对你有帮助。
推荐阅读
- jquery - Importing pages using my own code based on jQuery inspired from Angular
- java - Toggle between two languages Struts2 if else
- django - Docker-compose django nginx doesnt find static files
- c# - C# 中的 DeviceIoControl 导致 998 错误:对内存位置的访问无效
- c - 将值传递给修改后的系统调用函数已更改
- amazon-web-services - AWS lambda 使用事件构建 FilterExpression
- android - 如何在 Android/NDK 上将命令行参数从 gradlew.bat 传递到 Clang
- angular - 无法在 Firebase 和 Angular 中读取 null 的属性“uid”
- python - 创建一个读取文件,存储在数组中,然后打印单词出现在数组中的次数的函数
- javascript - 遇到未捕获的类型错误:无法读取未定义的属性