ownCloud: 10.3.2
MySQL: 8.0.18
ownCloudをインストールしようとするとこういうエラーメッセージを受け取るようになった。
Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
どうもMySQL8系からは認証プラグインにcaching_sha2_password
が標準で採用されるようになり、従来からのmysql_native_password
から置き換わった模様である。ownCloud 10.3.2はこの流れに未だ対応していない為にエラーとなっているのである。これを避けるために一先ずMySQL接続ユーザの認証プラグインをかつてのmysql_native_passwordへと設定した。
mysql> create user 'ocadmin'@'localhost' identified by 'p@ssw0rd'; mysql> grant all on owncloud.* to 'ocadmin'@'localhost' with grant option; mysql> select user, plugin from mysql.user where user = 'ocadmin'; +---------+-----------------------+ | user | plugin | +---------+-----------------------+ | ocadmin | caching_sha2_password | +---------+-----------------------+ mysql> alter user 'ocadmin'@'localhost' identified with mysql_native_password by 'p@ssw0rd' ; mysql> select user, plugin from mysql.user where user = 'ocadmin'; +---------+-----------------------+ | user | plugin | +---------+-----------------------+ | ocadmin | mysql_native_password | +---------+-----------------------+ mysql> create database owncloud;
そうして改めてownCloudのインストールを試みると恙無く完了したのでよかった。