После того как я установил wp-cli, при попытке создать wp-config.php через консоль, я столкнулся с такой проблемой:
Error: ошибка соединения с базой данных
Сразу скажу, что эта проблема возникает на MySQL 8.0 и чтобы ее решить, мне в итоге пришлось откатиться на MySQL 5.7
Я быстро пришел к выводу, что проблема в том, что база данных требует наличия ssl сертификата для соединения. Из консоли я мог подключиться только командой с отключеным сертификатом
mysql -h localhost -u *username* -p *password* --ssl-mode=DISABLED
Так как дело происходило под OpenServer, то я первым делом полез в конфиг, чтобы отключить SSL сертификаты для MySQL.
Перезагружаю сервер, вижу что сертификаты отключены. wp-cli все еще не работает, хотя я могу подключться из консоли без отключения ssl
mysql -h localhost -u *username* -p *password*
При проверке:
mysql> SHOW VARIABLES LIKE '%ssl%';
Я вижу, что have_openssl и have_ssl стоят в DISABLED
Перехожу в wp-config.php и включаю
define('WP_DEBUG', true);
Теперь в консоли я вижу больше информации
Error: `The server requested authentication method unknown to the client`
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
Ошибка установки соединения с базой данных
Это значит, что либо имя пользователя и пароль в файле `wp-config.php` неверны, либо нам не удалось связаться с сервером базы данных по адресу `127.0.0.1`. Возможно, сервер недоступен.
Проверив все настройки, я пробую сделать root пользователя без пароля и wp-cli прекрасно подключается. Значит дело именно в шифровании пароля.
Немного погуглив, я понял, что такое происходит в MySQL 8 и решил, что проще вернуться на MySQL 5.7.