今までMySQLが入っていたMacにhomebrewでMariaDBを入れる

mariadb-foundation

みなさんこんにちは!
最近急に色々アップデートしたい病にかかって色々アップデートしたらローカルのMySQLが動かなくなってしまい、MySQLが動かなくなったのであればMariaDBを使えばいいじゃない精神でMariaDBをインストールしました。
インストールの過程でなんで動かなかったのかもわかったので、タイトルのようになっています。

ちなみに自分の環境は以下

  • brew – 0.9.5
  • MySQL – 5.7(ダウングレードして5.6の残骸がちらほら)
  • MariaDB – 10.1.11

MySQLのリンクを外す

恥ずかしいことにbrewが何をしているのか全くわかっていなかったため、前MySQLが動かなくなったときもわけがわからなかったのですが、単純に /usr/local/bin 以下のMySQL系コマンドのシンボリックリンクがもう使っていないMySQLにリンクが貼られていたことが原因だったぽいです(アップデートしたらMySQL5.7が入って5.7嫌嫌〜5.6にダウングレードしたい!と思って色々やっていた中で壊れたと思っていたのでbrew的にはMySQL5.7、シンボリックリンクは5.6を向いていただけだったようです)

なのでまず最初に既存のMySQLのシンボリックリンクを外しましょう(MariaDBもmysqlコマンドとか使うので)。ここは各人の環境に合わせてリンクを外してもらえればと思います。

# mysql56のところは各人の環境に合わせてもらえれば。
# /usr/local/bin のmysqlがどこのシンボリックリンクか確認すればわかるはず
$ brew unlink mysql56

MariaDBをインストールする

外せたらMariaDBをインストールしましょう。
brewには既にパッケージがあるのでbrewでインストールします。

# 一応確認
$ brew search mariadb
>> homebrew/versions/mariadb100         mariadb                            mariadb-connector-c

# mariadbインストール
$ brew install mariadb

# innodbに必要なデータベースを入れる
$ mysql_install_db

# productionなら以下のコマンド起動
# rootのパスワード設定とか出来るからなんとなく起動してる
$ mysql_secure_installation

# mariadb起動
$ mysql.server start

これでMariaDBが起動します。

MariaDBはデフォルトで文字コード等がutf8になってるぽいのでそのまま日本語とかもいけるはず!

$ mysql -u root -p

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 
Server version: 10.1.11-MariaDB Homebrew

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>show variables like "char%";
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | /usr/local/Cellar/mariadb/10.1.11/share/mysql/charsets/ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.01 sec)

MariaDBの機能大全みたいなのも発刊されてるんですね

鈴木 啓修 山田 奈緒子
技術評論社
売り上げランキング: 168,766