MySQLで問題が発生したことをきっかけにMariaDBに移行することを検討
Homebrewでインストール・セットアップをしてみる
インストール
インストールはとても簡単!Homebrewがセットアップされていることを前提で、以下のコマンドを実行すればインストールされる
brew install mariadb
MariaDBをサービス起動
インストール後、サービスにて実行し次のセキュリティ設定に進むことができる
brew services start mariadb
セットアップ
パスワードなどセキュリティ初期設定
sudo mysql_secure_installation
このインストールセットアップでパスワード含めてセキュリティ設定ができるので便利
rootパスワードを入力して継続
→ 初期時はパスワードなしなのでそのままENTER
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on...
認証をunix_socketに切り替えるかどうかの確認
→ すでにプロテクトされているので ‘n’ でいいよとのことなので ‘n’ で続行
Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] n
rootパスワードの変更確認
→ Y を入力してパスワード変更継続
Change the root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
anonymousユーザーの削除確認
→ 不要であれば Y の削除を選択し続行
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success!
rootのリモートからのアクセスを拒否
→ Y で localhost のみに設定して継続
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y
testデータベースの削除
→ Y で削除依頼して続行
By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success!
Privilegeテーブルの再ロード確認
→ Y でリロードして継続
Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y
終了メッセージ
Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
以上でセットアップ完了。MySQLの設定よりも楽チンかも。
MariaDBのサービス停止
サービスを終了させたい場合には brew services で処理
brew services stop mariadb
MariaDBが参照するmy.cnfの場所確認
MySQL互換のMariaDBの設定はmy.cnfで行う。参照場所は –help –verbose を使って確認可能。
mysqld --help --verbose | less
冒頭のDefault options are read from the following files in the given orderの行にて確認可能。私の環境では以下の順序で参照。
- /usr/local/etc/my.cnf
- /usr/local/mysql/my.cnf
- ~/.my.cnf
必要な設定をいずれかのファイルに設定しサービスを再起動することで設定が反映される。
mysqld Ver 10.4.11-MariaDB for osx10.15 on x86_64 (Homebrew) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Starts the MariaDB database server. Usage: mysqld [OPTIONS] Default options are read from the following files in the given order: /usr/local/etc/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf
参照
- “Installing MariaDB 10.1.16 on Mac OS X with Homebrew” [MariaDB Blog] https://mariadb.com/resources/blog/installing-mariadb-10-1-16-on-mac-os-x-with-homebrew/
- “Installing MariaDB Server on macOS Using Homebrew” [MariaDB KB]
https://mariadb.com/kb/en/installing-mariadb-on-macos-using-homebrew/