Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ed28836

Browse files
fix: Fixed issue with recover mysql-cluster with backup files (1Panel-dev#9707)
1 parent db8fa14 commit ed28836

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

‎agent/app/api/v2/backup.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -466,12 +466,12 @@ func (b *BaseApi) RecoverByUpload(c *gin.Context) {
466466
}
467467

468468
switch req.Type {
469-
case "mysql", "mariadb":
469+
case "mysql", "mariadb", constant.AppMysqlCluster:
470470
if err := backupService.MysqlRecoverByUpload(req); err != nil {
471471
helper.InternalServer(c, err)
472472
return
473473
}
474-
case constant.AppPostgresql:
474+
case constant.AppPostgresql, constant.AppPostgresqlCluster:
475475
if err := backupService.PostgresqlRecoverByUpload(req); err != nil {
476476
helper.InternalServer(c, err)
477477
return

‎agent/utils/mysql/client/local.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,12 @@ func (r *Local) Backup(info BackupInfo) error {
253253
func (r *Local) Recover(info RecoverInfo) error {
254254
fi, _ := os.Open(info.SourceFile)
255255
defer fi.Close()
256-
cmd := exec.Command("docker", "exec", "-i", r.ContainerName, r.Type, "-uroot", "-p"+r.Password, "--default-character-set="+info.Format, info.Name)
256+
mysqlCli := r.Type
257+
if mysqlCli == "mysql-cluster" {
258+
mysqlCli = "mysql"
259+
}
260+
261+
cmd := exec.Command("docker", "exec", "-i", r.ContainerName, mysqlCli, "-uroot", "-p"+r.Password, "--default-character-set="+info.Format, info.Name)
257262
if strings.HasSuffix(info.SourceFile, ".gz") {
258263
gzipFile, err := os.Open(info.SourceFile)
259264
if err != nil {
@@ -271,7 +276,7 @@ func (r *Local) Recover(info RecoverInfo) error {
271276
}
272277
stdout, err := cmd.CombinedOutput()
273278
stdStr := strings.ReplaceAll(string(stdout), "mysql: [Warning] Using a password on the command line interface can be insecure.\n", "")
274-
if err != nil || strings.HasPrefix(string(stdStr), "ERROR ") {
279+
if err != nil || strings.HasPrefix(stdStr, "ERROR ") {
275280
return errors.New(stdStr)
276281
}
277282

‎frontend/src/components/upload/index.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ const acceptParams = async (params: DialogProps): Promise<void> => {
188188
case 'mysql':
189189
case 'mariadb':
190190
case 'postgresql':
191+
case 'mysql-cluster':
192+
case 'postgresql-cluster':
191193
title.value = name.value + ' [ ' + detailName.value + ' ]';
192194
if (detailName.value) {
193195
baseDir.value = `${pathRes.data}/uploads/database/${type.value}/${name.value}/${detailName.value}/`;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /