반응형
데이터베이스를 자동으로 복제하는 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
반응형
'MySql' 카테고리의 다른 글
MySQL에서 다음 달의 첫 번째와 마지막 날짜를 가져옵니다. (0) | 2020.11.20 |
---|---|
MySQL 기존 테이블에 새 열거 형 열 추가 (0) | 2020.11.20 |
MySQL Add index to table if it does not exist (0) | 2020.11.19 |
MySQL mysql의 쿼리 길이에 제한이 있습니까? (0) | 2020.11.19 |
MySQL에서 초없이 Time 데이터 유형 사용 (0) | 2020.11.19 |
댓글