Устанавливаем MySQL8 на Linux CentOS 7
По умолчанию yum install mysql предложит установить mariadb и к тому же версию 5.5. Но если вам нужен всё-так MySQL и восьмой версии, то вам помогут следующие команды:
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm percona-release setup ps80 yum install percona-server-server systemctl start mysqld systemctl enable mysqld # mysql -V mysql Ver 8.0.19-10 for Linux on x86_64 (Percona Server (GPL), Release 10, Revision f446c04) Пароль root ищем в /var/log/mysqld.log: cat /var/log/mysqld.log | grep root 2020-05-18T11:50:00.099253Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jsWdfgbhtxE Меняем пароль mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
У вас может возникнуть ошибка при подключении к MySQL из PHP в связи с тем, что в MySQL8 по умолчанию другой плагин авторизации.
Failed to connect to MySQL: (2054) The server requested authentication method unknown to the client
Решается эта проблема указыванием плагина аутентификации mysql_native_password.
ALTER USER 'user_db'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Можно отключить плагин аутентификации для всех пользователей вызвав mysql_secure_installation, но не стоит этого делать. Не надо root'ом позволять лазить в базу. По умолчанию даже имея пароль рута к базе подключиться из php не удастся. Только с командной строки утилитой mysql. mysql_native_password лучше разрешать только для отдельных пользователей, которым нужно коннектиться к базе из php.