ansibleでCentOS8 にmariadbインストールし、rootパスワードを変更しようとしたらはまるの巻

ちょっとphp8も出たし、CentOSも8への移行が進むだろうしとうことで、

最新のテスト環境つくれるようにしとこうとansibleのスクリプトをいじってたところ、

 

いままで普通にできてた、mariadbのインストール時にパスワードを変更するのにハマった。

fatal: [php8]: FAILED! => {"changed": false, "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")"}

 root でログインできないよ!って言われる。

 

あれやこれや試した後、

CentOS8で、ansibleが使うライブラリが変更になっていた件を思い出した。

もともと、MySQL-python をつかっていたのだけど、CentOS8からはパッケージがなく、

python3-PyMySQL 変更していたのだった。

 

すると、こういう記事があり、どうもPyMySQLだとsocket接続じゃなく、TCP接続を優先するとのことで、 login_unix_socket  を使ってみてという記述があった。  

bleepcoder.com

 

えー、と思いつつ設定したら通った。

 

普段からやってないと、色々とハマるなーとおもった暑い日でした。