golang
mariadb
MariaDB10

Golang で MariaDB 10.3 に接続してみる

Go 1.9.4 ( http://golang-jp.org/ )で MariaDB 10.3 サーバに接続してみました。
実行環境は CentOS 7(7.5.1804) + MariaDB 10.3.8 です。

Golang のインストール

yum -y install golang

以下の RPM がインストールされました。

golang-1.9.4-1.el7.x86_64
golang-bin-1.9.4-1.el7.x86_64
golang-src-1.9.4-1.el7.noarch

GitHubにある、MySQL用のドライバをインストールします。

go get github.com/go-sql-driver/mysql

接続設定の例はこちらです。
go env で表示される GOPATH で示されるパスにドライバがダウンロード/インストールされます。

サンプルプログラムのビルド/実行

以下のシンプルなプログラムをビルドします(事前に test_db データベースと db_user ユーザを作成しています)。

connect_mariadb.go
package main

import (
        "database/sql"
        "fmt"
        _ "github.com/go-sql-driver/mysql"
)

func main() {
        // Create the database handle, confirm driver is present
        db, _ := sql.Open("mysql", "db_user:password@/test_db")
        defer db.Close()

        // Connect and check the server version
        var version string
        db.QueryRow("SELECT VERSION()").Scan(&version)
        fmt.Println("Connected to: ", version)
}

以下のコマンドでビルド

go build connect_mariadb.go

バイナリを実行してみます。

./connect_mariadb
Connected to:  10.3.8-MariaDB

正常に MariaDB に接続し、バージョン名を取得することができました。

参考リンク:

https://mariadb.com/resources/blog/using-go-mariadb