mysql-operator/mysql-innodbcluster で作られたデータディレクトリからMySQLデータベースをサルベージする
背景
あるk8sクラスタで mysql-operator/mysql-innodbcluster で作ったMySQLデータベースがあった
PVとしてNFSボリュームを使っていた
なにかの拍子にk8sクラスタを壊して削除してしまい、MySQLデータベースにはアクセスできなくなった(NFSボリュームのデータディレクトリにファイルはある)
このMySQLデータベースを復元したい
結論
Dockerで対象のデータディレクトリをマウントしてMySQLを起動する
code:yaml
version: '3'
services:
mysql:
image: mysql:8
container_name: mysql
environment:
MYSQL_USER: 'admin'
MYSQL_PASSWORD: 'supersecret'
MYSQL_ROOT_PASSWORD: 'supersecret'
TZ: 'Asia/Tokyo'
ports:
- 3306:3306
volumes:
- ./mysql_data:/var/lib/mysql
んでデータベースに接続してダンプして、innodbclusterにリストアする
試行錯誤
mysql-operator/mysql-innodbcluster を新規に起動してデータをコピーしたりしてみたけどダメだった