diff --git a/internal/bootstrap/db.go b/internal/bootstrap/db.go
index 58d5209b..f80724ab 100644
--- a/internal/bootstrap/db.go
+++ b/internal/bootstrap/db.go
@@ -53,6 +53,9 @@ func InitDB() {
 				dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local&tls=%s",
 					database.User, database.Password, database.Host, database.Port, database.Name, database.SSLMode)
 				dB, err = gorm.Open(mysql.Open(dsn), gormConfig)
+				if err == nil {
+					dB = dB.Set("gorm:table_options", "ENGINE=InnoDB CHARSET=utf8mb4")
+				}
 			}
 		case "postgres":
 			{
diff --git a/internal/db/db.go b/internal/db/db.go
index 42be109d..e836e01c 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -7,10 +7,10 @@ import (
 	"gorm.io/gorm"
 )
 
-var db gorm.DB
+var db *gorm.DB
 
 func Init(d *gorm.DB) {
-	db = *d
+	db = d
 	err := db.AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem))
 	if err != nil {
 		log.Fatalf("failed migrate database: %s", err.Error())