gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

database領域の作成とユーザの作成

最近少し、作り方が変わったのか変えたのか。
こんなやり方をしてることが多いです、ってのがあったので備忘録。

create database データベース名;
CREATE USER 'ユーザ名'@'サーバ名' IDENTIFIED BY 'パスワード';
GRANT ALL ON データベース名.* TO 'univcoop'@'サーバ名';

サーバ名は、localhostじゃない場合で適度にワイルドカードしたい場合は「192.168.0.%」とかって書き方で。


あと。
MySQL8.0(.4 ?)から、認証方式のデフォルトがcaching_sha2_passwordってのに変わったそうでございます( https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html )。
via https://qiita.com/ucan-lab/items/3ae911b7e13287a5b917


で、その辺知らずにPDOでガリゴリっと書きますと

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

といった感じのエラーに出くわします。


この場合は、ユーザを作る時に

CREATE USER 'ユーザ名'@'サーバ名' IDENTIFIED WITH mysql_native_password BY 'パスワード';

ってな感じで、明示的に指定してやると、よい塩梅になるようでございます。


色々と、地味にあちこち変化はあるなぁ、と思いつつ、備忘録用にメモり。


あ。
いつの頃からかは不明ですが、パスワードが雑だと

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

的に怒られます。
大まかには
・英の大小文字、数字、記号がそれぞれ入って
・全体で8文字以上
という感じのようでございます。

my.cnfのvalidate-passwordとか「SHOW GLOBAL VARIABLES LIKE 'validate%';」で見て取れる値とかで色々あるようですが……まぁ、これくらいはこのままでもいいんじゃないかなぁ、的な。
なので、面倒なんで調べてないんで、興味がある各位におかれましては、自習いただければ幸いです。