Ubuntuデスクトップ上でのMySQLの環境構築に手間取ったので、備忘録としてまとめておきます。
もくじ
使用環境
今回環境構築を行った環境は、
・Ubuntu18.04
・MySQL Ver 14.14 Distrib 5.7.24, for Linux
です。
今回は、MySQLをインストールして、適当なユーザーを作成するところまで行いました。
MySQLのインストール方法
パッケージをインストールするだけだったので、とても簡単にできました。
下のコマンド一発で必要なパッケージのインストールは完了しました。
$ sudo apt-get install mysql-server mysql-client
インストールしているパッケージについて、ざっくりと。
mysql-server:MySQLサーバーに接続し、”mysql”コマンドラインプログラムを提供するパッケージ。
mysql-client:複数のデータベースをホストし、それらのデータベースでクエリを処理できるMySQLサーバを実行するパッケージ。
$ mysql --version
というコマンドで、 “mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper”のように表示されれば成功です。
MySQLにログイン
インストールが完了したら、次のコマンドでルートユーザーの設定を行います。
$ sudo mysql_secure_installation
サイトによっては、ここで設定したパスワードでMySQLにログインすると書かれていたため混乱しましたが、Ubuntu18.04からはパスワード入力はいらなくなったよう。
設定ののち、
$ sudo mysql -u root
でログインが可能です。
ユーザーを作成する
MySQLにログインしたら、CREATE USERをしたいのですが、ここでちょっと手こずりました。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
こんなエラーが出るのです。
どうも、MySQL5.7では、VALIDATE PASSWORD プラグインがインストールされるようになったため、パスワード設定がかなり厳しくなっているようです。
『MEDIUM ポリシーは、パスワードが最低 1 つの数値文字を含み、1 つの小文字および大文字を含み、1 つの特殊文字 (英数字以外) を含む必要があるという条件を追加します。』
という基準に満たないパスワードは、問答無用で弾かれます。
普通に複雑なパスワードを設定してもいいのですが、今回はローカルでしか使わないため、このプラグインには消えてもらうことにしました。
参考にしたのはこちら。
MySQL5.7のvalidate_passwordとかいうクソ機能殺す
まずはこのコマンドで、バリデーションを確認します。
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 6 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | LOW | | validate_password_special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.01 sec)
では、消えてもらいましょう。
mysql> uninstall plugin validate_password; Query OK, 0 rows affected (0.01 sec) mysql> SHOW VARIABLES LIKE 'validate_password%'; Empty set (0.01 sec)
これで無事に、CREATE USERができました。
まとめ
まだまだDBは触ったばかりのド素人ですが、これでようやくローカルでDBをいじれる環境ができました。
本格的なWEBサービスをつくる基盤が整っていくように感じます。
参考
・WEB
【Ubuntu 18.04 LTS Server】MySQLサーバを動かす
【Python入門】MySQLを使ってみよう
MySQL5.7のvalidate_passwordとかいうクソ機能殺す
[…] Ubuntu18.04にMySQLの環境をつくる【備忘録】 […]