diff --git a/backend/utils/mysql/client/local.go b/backend/utils/mysql/client/local.go index 6eac5a9e5..187a90079 100644 --- a/backend/utils/mysql/client/local.go +++ b/backend/utils/mysql/client/local.go @@ -72,12 +72,14 @@ func (r *Local) CreateUser(info CreateInfo, withDeleteDB bool) error { Timeout: 300}) return err } - grantStr := fmt.Sprintf("grant all privileges on `%s`.* to %s with grant option;", info.Name, user) + grantStr := fmt.Sprintf("grant all privileges on `%s`.* to %s", info.Name, user) if info.Name == "*" { - grantStr = fmt.Sprintf("grant all privileges on *.* to %s with grant option;", user) + grantStr = fmt.Sprintf("grant all privileges on *.* to %s", user) } if strings.HasPrefix(info.Version, "5.7") || strings.HasPrefix(info.Version, "5.6") { grantStr = fmt.Sprintf("%s identified by '%s' with grant option;", grantStr, info.Password) + } else { + grantStr = grantStr + " with grant option;" } if err := r.ExecSQL(grantStr, info.Timeout); err != nil { _ = r.Delete(DeleteInfo{ diff --git a/backend/utils/mysql/client/remote.go b/backend/utils/mysql/client/remote.go index 887f09b02..062ea3534 100644 --- a/backend/utils/mysql/client/remote.go +++ b/backend/utils/mysql/client/remote.go @@ -75,12 +75,14 @@ func (r *Remote) CreateUser(info CreateInfo, withDeleteDB bool) error { } return err } - grantStr := fmt.Sprintf("grant all privileges on `%s`.* to %s with grant option;", info.Name, user) + grantStr := fmt.Sprintf("grant all privileges on `%s`.* to %s", info.Name, user) if info.Name == "*" { - grantStr = fmt.Sprintf("grant all privileges on *.* to %s with grant option;", user) + grantStr = fmt.Sprintf("grant all privileges on *.* to %s", user) } if strings.HasPrefix(info.Version, "5.7") || strings.HasPrefix(info.Version, "5.6") { grantStr = fmt.Sprintf("%s identified by '%s' with grant option;", grantStr, info.Password) + } else { + grantStr = grantStr + " with grant option;" } if err := r.ExecSQL(grantStr, info.Timeout); err != nil { if withDeleteDB {