brew での mariadb の導入に失敗

ローカル環境にデータベースを入れようと思ったら, brew コマンドで一発ですね。

$ brew install mariadb

これで最新版の MariaDB もろもろを拾ってきてくれます。

が,

$ mysql -u root -p

で,ログインできず・・・。

mysql をセーフモードで起動し,中身を見てみると,「mysql」データベースが空・・・(show tables で,Empty)。

そのため,「mysql_secure_installation」を走らせたとき,root のパスワードを聞かれても,入れないわけです。

いったん,削除したり, $ brew reinstall mariadb を試したりしたけれど,なぜか「mysql」データベースは空のまま。

うちの Mac に,以前なにかMySQL系を入れていて,それが悪さをしているのでしょうか。入れた記憶がありませんが・・・。

仕方がないので,Homebrew でのインストールは中止。

公式サイトから MySQL 8 をダウンロード

データベースをいじってたころは,MySQL がオラクルに買収されて,MariaDB が流行ってから,MySQL はあまりさわってませんでした。

しかし,公式サイトを見ると,いつの間にか MySQL 8 までリリースされていたのですね(6と7は欠番かな)。

Wikipediaをみると,2018年4月19日にリリースされたとのこと。

結構前ですね。知りませんでした。

動けば,MariaDB でも MySQL でもなんでもいいです。

早速,ダウンロードし,インストール,続けて,mysql に入ろうとコマンドを叩いたところ,

% mysql
zsh: command not found: mysql

ほう・・・。

いや,クライアントがないはずはなかろう・・・ということで,昨日のパス問題を思い出します。

いまのパスに mysql がいないだけでは?

ちょっとググって調べたところ, /usr/local 以下にいる様子。

% ls /usr/local | grep mysql
mysql
mysql-8.0.20-macos10.15-x86_64

2つ,いらっしゃいますね。

% ls -al /usr/local | grep mysql
lrwxr-xr-x    1 root     wheel    30  5 19 00:51 mysql -> mysql-8.0.20-macos10.15-x86_64
drwxr-xr-x   13 root     wheel   416  5 19 00:52 mysql-8.0.20-macos10.15-x86_64

どうやら,mysql 8.0.20シンボリックリンクみたいですね。
(シンボリックリンクで合っているのかな?)

こいつを実行すれば,走りそうです。
/usr/local 以下なので,sudo が必要な様子。

とりあえず,「mysql_secure_installation」を走らせます。

% sudo /usr/local/mysql-8.0.20-macos10.15-x86_64/bin/mysql_secure_installation 

(中略)

Success.
All done! 

無事,走りました。

GUIソフト「DBeaver」を使ってログイン

少しググると,いま人気らしい「DBeaver」を使ってログインしてみようと思います。

brew でインストールしたところ,「最新版があります」と,公式から dmg ファイルをダウンロードさせられました。まあ,接続できれば,どちらでも良いです。

早速,「MySQL 8 系」のドライバ(My SQL 5 系とは違うらしい!)をダウンロードし(ここら辺を自動でやってくれるのが便利),接続。

エラー:Public Key Retrieval is not allowed

ググります。

AllowPublicKeyRetrieval

サーバー側から公開鍵を取得するための特別な Handshake を許可/禁止します。既定値は false(禁止)です。Ping送信時に “Public Key Retrieval is not allowed” というエラーが返ってきた場合、この値を true に設定すると Ping が成功するようになります。

参考:Payara ServerでMySQL 8.0を使用する

ドライバのプロパティから,AllowPublicKeyRetrievalTrue に設定して,再接続。

無事,接続できました。本当に,良かったです。

 一覧ページへもどる