ローカル環境にデータベースを入れようと思ったら, 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 がオラクルに買収されて,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!
無事,走りました。
少しググると,いま人気らしい「DBeaver」を使ってログインしてみようと思います。
※ brew でインストールしたところ,「最新版があります」と,公式から dmg ファイルをダウンロードさせられました。まあ,接続できれば,どちらでも良いです。
早速,「MySQL 8 系」のドライバ(My SQL 5 系とは違うらしい!)をダウンロードし(ここら辺を自動でやってくれるのが便利),接続。
エラー:Public Key Retrieval is not allowed
ググります。
参考:Payara ServerでMySQL 8.0を使用する
AllowPublicKeyRetrieval
サーバー側から公開鍵を取得するための特別な Handshake を許可/禁止します。既定値はfalse
(禁止)です。Ping送信時に “Public Key Retrieval is not allowed” というエラーが返ってきた場合、この値をtrue
に設定すると Ping が成功するようになります。
ドライバのプロパティから,AllowPublicKeyRetrieval
を True に設定して,再接続。
無事,接続できました。本当に,良かったです。
投稿記事のカテゴリやタグと同じ記事をランダム表示します。