0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

##概要
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作成等行い、
最終的には、簡単なアプリケーションを開発してみたいと思います。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?