본문 바로가기
MySql

MySQL go-sql-driver로 새 MySQL 데이터베이스를 만드는 방법

by 베이스 공부 2020. 11. 20.
반응형

데이터베이스를 자동으로 복제하는 Golang 스크립트를 작성 중입니다. I'm using go-sql-driver but i can't find in the documentation a way to create a new database. MySQL에 연결하려면 다음과 같은 URL 체계가 필요합니다.

user:password@tcp(localhost:3306)/database_name

하지만 데이터베이스가 아직 존재하지 않아 서버에 연결 한 다음 새 데이터베이스를 만들고 싶습니다.

어떻게 할 수 있습니까? 다른 드라이버를 사용해야합니까?

 

해결 방법

 

go-sql-driver를 완벽하게 사용할 수 있습니다. 그러나 새 데이터베이스를 만들려면 적절한 액세스 권한이있는 mysql 사용자를 사용해야합니다.

다음은 예입니다.

func create(name string) {

   db, err := sql.Open("mysql", "admin:admin@tcp(127.0.0.1:3306)/")
   if err != nil {
       panic(err)
   }
   defer db.Close()

   _,err = db.Exec("CREATE DATABASE "+name)
   if err != nil {
       panic(err)
   }

   _,err = db.Exec("USE "+name)
   if err != nil {
       panic(err)
   }

   _,err = db.Exec("CREATE TABLE example ( id integer, data varchar(32) )")
   if err != nil {
       panic(err)
   }
}

데이터베이스 이름은 연결 문자열에 제공되지 않습니다. 연결 후 데이터베이스를 생성하고 (CREATE DATABASE 명령) 연결을 전환하여 사용합니다 (USE 명령).


 

참조 페이지 https://stackoverflow.com/questions/30235031

 

 

반응형

댓글