Если MySQL:
sudo nano etc/mysql.conf.d/mysqld.cnf
Если MariaDb:
sudo nano etc/mariadb.conf.d/50-server.cnf
Находим и редактируем параметр
max_allowed_packet=128M
Перезагружаем mysql
sudo service mysql restart
Если MySQL:
sudo nano etc/mysql.conf.d/mysqld.cnf
Если MariaDb:
sudo nano etc/mariadb.conf.d/50-server.cnf
Находим и редактируем параметр
max_allowed_packet=128M
Перезагружаем mysql
sudo service mysql restart
На рабочей станции после обновления php до версии 8.0 столкнулся с проблемой не рабочего mysql-pdo. При подключении к базе данных получал ошибку.
Одна жди у меня уже была похожая проблема после обновления до php7 И здесь я писал как ее решить:
PDOException “could not find driver”
На этот раз я решил ее следующим способом:
Отключил старую версию php
sudo a2dismod php7.4
Включил новую версию
sudo a2enmod php8.0
Перезагрузил веб-сервер
sudo a2enmod php8.0
После установки и настройки нового веб сервера на ubuntu 20.04 lts и установки MariaDB, столкнулся с проблемами mysql, были ошибка типа:
Truncated incorrect DOUBLE value
Field ‘filed_name’ doesn’t have a default value
Incorrect integer value: » for column ‘field_name’ at row 1
и т.д.
Оказалось проблема в строгом режиме MySQL. Нужно его временно отключить, т.к. сервер в продакшене.
Переменные->sql_mode
Выполняем запрос:
set global sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
set global sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Перегрузим мускул
sudo service mysql restartПосле обновления до последней LTS версии убунты 20.04, не смог открыть локальный сайт:
PDOException “could not find driver”
Подумал что-то не так с модулем php-mysql или pdo, пробовал обновлять, переустанавливать, ничего не получилось.
php -v
Создаем файл в директории сайта со следующим текстом:
phpinfo();
?>
Здесь у меня почему-то версия php 7.3 вместо php 7.4.
sudo update-alternatives --config php
Попытался переключиться на php 7.4.
sudo service apache2 restart
Проверил снова phpinfo. не помогло, так и висит php 7.3
sudo apt-get purge php7.*
sudo apt install php libapache2-mod-php php-mysql
Перезапустил апач. Проверил сайт. Все работает 🙂
sudo apt install phpmyadmin
sudo apt install php-mbstring
Перезагрузите апач. И на этом все)
sudo service apache restart
При импорте большой бд, из файла, получил ошибку.
В логах прочел, о нехватки значения параметра max_allowed_packet
Редактируем файл конфигурации MySQL
sudo nano /etc/mysql/my.cnf
Заменяем следующее значение:
max_allowed_packet = 1024M
Перезагружаем мускул
sudo service mysql restart
Скачиваем последнюю версию (на текущий момент 4.8.2)
Распакуем архив:
Переходим в директорию с установленным pma
Удаляем все файлы старой версии
Переходим в директорию с загруженным pma
Теперь переносим все файлы
Перезапускаем апач
Перезапускаем мускул
Проверяем версию phpMyAdmin
В MySQL есть замечательная встроенная фишка, которая поможет отловить самые медленные запросы к базе данных. Все очень легко настраивается.
Открываем конфигурацию для MySQL 5.5:
Внимание. В других версиях mysql файл с настройками возможно находится в другом месте. Например в /etc/my.cnf
В блоке [mysqld] дописываем следующие строки:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 30
Где:
slow_query_log — включаем отслеживание медленных запросов
slow_query_log_file — путь к лог файлу, куда будем записывать запросы
long_query_time — макс. время выполнения запроса в секундах, более — записываем в лог
Создаем лог файл
Даем права на запись:
Перезагружаем mysql
Просмотр 10 последних запросов
В онлайн режиме смотрим самые долгие запросы
Просмотр 10 самых медленных