国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

使用Kubernetes初始化容器在MySQL上運行
P粉315680565
P粉315680565 2024-03-26 19:48:31
0
1
573

我正在將mysql作為一個kubernetes部署的init容器運行。

出于各種原因,我需要在init容器中啟動mysql/恢復(fù)mysql的備份 -> 將其保存到一個pvc中,然后主pod將是一個附帶數(shù)據(jù)的mysql pod。

這是因為我需要對磁盤進行快照,而且我將讓CI在pod準(zhǔn)備好/運行之前監(jiān)視快照。

所以我不能只是將dump.sql轉(zhuǎn)儲到docker-entrypoint-initdb.d中就完成了。

這是因為volumesnapshot kubernetes資源將在數(shù)據(jù)恢復(fù)/準(zhǔn)備之前被占用。這就是為什么我需要在init容器中準(zhǔn)備數(shù)據(jù)的原因。

我遇到的問題是init容器需要一個命令來覆蓋entrypoint.sh(實際上啟動mysql等)

到目前為止,我有這個在容器啟動時運行的bash腳本。

./entrypoint.sh --ignore-db-dir=lost+found 
echo "done"(這只是為了測試目的,看看它是否被處理,但實際上沒有)
mysql -u root -ppassword < /data/backups/backup.sql
mysql -u root -ppassword < /sql-files/sql-files.sql

問題是,entrypoint被運行,但然后卡在

2022-01-14T15:07:54.809983Z 0 [Note] Event Scheduler: Loaded 0 events
2022-01-14T15:07:54.810442Z 0 [Note] mysqld: ready for connections.
Version: '5.7.36'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)

并且永遠不會繼續(xù)執(zhí)行bash腳本的下一步。我嘗試在末尾添加一個&,以便在后臺運行,但這并不能解決問題。

有人遇到過這個問題嗎?我如何手動運行entrypoint,然后執(zhí)行一些命令。

我還嘗試了這個,它應(yīng)該在后臺運行并退出,但它仍然沒有。

#!/bin/sh

start_mysql () {
    sleep 30
    #mysql -u root -ppassword < /data/backups/backup.sql
    #mysql -u root -ppassword < /sql-files/sql-files.sql
    echo "hi"
    sleep 30
    echo "done 123354543543" >> /data/backups/test.txt
    echo "actually done"
    exit 0 
}

start_mysql &
./entrypoint.sh --ignore-db-dir=lost+found

P粉315680565
P粉315680565

全部回復(fù)(1)
P粉683665106

你可以在mysqld之前在后臺啟動mysql sleeping。這對你有用嗎?

start_mysql {
    sleep 30
    mysql -u root -ppassword < /data/backups/backup.sql
    mysql -u root -ppassword < /sql-files/sql-files.sql
}

start_mysql &
./entrypoint.sh
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板