Тайм-аут php7.4 mysqli с уходом

Я только что установил php7.4, вроде все в порядке, но когда я пытаюсь войти в свой phpmyadmin, я не могу: примечание отлично работает в php7.3 до этой установки.

Ошибка:

mysqli_real_connect(): Unexpected server response while doing caching_sha2 auth: 109
 mysqli_real_connect(): (HY000/2006): MySQL server has gone away

ищу мою библиотеку php mysql :php7.4-mysql. он установлен.

Забыть что-то? Спасибо.

NOTICE: Not enabling PHP 7.4 FPM by default.
NOTICE: To enable PHP 7.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Traitement des actions différées (« triggers ») pour libapache2-mod-php7.4 (7.4.
0-1+ubuntu19.10.1+deb.sury.org+1) ...

apt-cache policy php7.4
php7.4:
  Installé : 7.4.0-1+ubuntu19.10.1+deb.sury.org+1
  Candidat : 7.4.0-1+ubuntu19.10.1+deb.sury.org+1
 Table de version :
 *** 7.4.0-1+ubuntu19.10.1+deb.sury.org+1 500
        500 http://ppa.launchpad.net/ondrej/php/ubuntu eoan/main amd64 Packages
        500 http://ppa.launchpad.net/ondrej/php/ubuntu eoan/main i386 Packages
        100 /var/lib/dpkg/status

person Michel    schedule 30.11.2019    source источник
comment
Вы сделали то, что было предложено в Уведомлениях?   -  person RiggsFolly    schedule 01.12.2019
comment
Да, я делаю это.   -  person Michel    schedule 01.12.2019
comment
Примечание: с phpstorm я вижу свою базу данных. Связь работает   -  person Michel    schedule 01.12.2019
comment
Я видел эту ошибку в журнале: сервер MySQL ушел   -  person Michel    schedule 01.12.2019


Ответы (4)


У меня была та же проблема, но использование mysql_native_password было невозможно с PHP7.4-mysql-pdo, даже при настройке в my.cnf, поскольку это работало на PHP7.3-mysql-pdo.

Мне пришлось изменить каждого пользователя с помощью этого запроса:

ALTER USER 'username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

где username — имя пользователя базы данных, а password — пароль пользователя базы данных.

person Markus Zeller    schedule 07.12.2019

Если вы по-прежнему используете устаревший метод mysql_native_password, который СИЛЬНО НЕ РЕКОМЕНДУЕТСЯ, поскольку он считается менее безопасным, вы можете установить собственный пароль для модуля проверки подлинности по умолчанию, добавив default_authentication_plugin = mysql_native_password в раздел [mysqld] файла . мой.cnf.

person GGets    schedule 01.12.2019

В файле /etc/mysql/my.cnf

После [mysqld] добавить: default-authentication-plugin = mysql_native_password

Пример моего /etc/mysql/my.cnf

[mysqld]
user   = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket   = /var/run/mysqld/mysqld.sock
port   = 3306
basedir    = /usr
datadir    = /var/lib/mysql
tmpdir   = /tmp
lc-messages-dir  = /usr/share/mysql
log-error    = /var/log/mysql/error.log
explicit_defaults_for_timestamp

bind-address = 0.0.0.0

# PHP 7.4 Fix
default-authentication-plugin = mysql_native_password

# Recommended in standard MySQL setup
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

И помните, что использовать mysql_native_password нехорошо из-за безопасности.

person Bukashk0zzz    schedule 05.12.2019

вы можете изменить шифрование пароля следующим образом.

ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';
person Umair Latif    schedule 30.11.2019