CentOS8にGolang/MariaDBをインストールし、DB接続してSQLを実行する


概要

Golang学習用備忘録です。
今回以下URLを参考にさせていただきました。

Go 言語から MariaDB Server を使ってみる
GoでMySQLに接続する

Golangインストール/動作確認

よろしければ、以下を参考にしてください。
CentOS8にGolangをインストールする

MariaDBインストール/GoからMariadbへの接続準備

ターミナル
#Mariadbインストール
dnf install -y mariadb mariadb-server

#MariaDBを起動・自動起動設定
systemctl start mariadb
systemctl enable mariadb

#MariaDBのrootユーザーの初期パスワードを設定
/usr/bin/mysql_secure_installation

#Set root password? [Y/n] y →「y」を選択
#New password:  →入力
#Re-enter new password: →再入力
#Password updated successfully!

#Mariadb バージョン確認
mysql --version

#バージョン情報が表示されること

#gitがインストールされていない場合には、下記コマンドにて
#インストールを行う
dnf -y install git

#MariaDBからGo用Connectorが提供されていないため、
#GitHubで公開されているMySQL用ドライバを使用
go get github.com/go-sql-driver/mysql
  • 接続用Goモジュール作成
check_mariadb_ver.go

package main

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

func main(){
        //データベースに接続
        db, err := sql.Open("mysql", "ユーザ名:パスワード@/データベース名")
        if err != nil {
                fmt.Println(err.Error())
        }
        defer db.Close()

        //バージョン情報確認
        var version string
        db.QueryRow("SELECT VERSION()").Scan(&version)
        //バージョン情報出力
        fmt.Println("connected to:", version)
}
  • モジュール実行
ターミナル

#実行
go run check_mariadb_ver.go

#バージョン情報が出力されること
connected to: 10.3.17-MariaDB

まとめ

GoからMariadbに接続して、SQLを実行するところまでをみていきました。
今後は、Goを活用してのAPI作成等行い、
最終的には、簡単なアプリケーションを開発してみたいと思います。