Как отключить строгий режим MySQL

После установки и настройки нового веб сервера на 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. Нужно его временно отключить, т.к. сервер в продакшене.

Проверить режим MySQL через phpmyadmin

Переменные->sql_mode

sql_mode phpmyadmin

Отключаем строгий режим через phpmyadmin

Выполняем запрос:

set global sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Как включить строгий режим через phpmyadmin

set global sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Перегрузим мускул

sudo service mysql restart

PDOException “could not find driver”

После обновления до последней LTS версии убунты 20.04, не смог открыть локальный сайт:

PDOException “could not find driver”

Подумал что-то не так с модулем php-mysql или pdo, пробовал обновлять, переустанавливать, ничего не получилось. 

Проверяем свою версию php через терминал:

php -v

Создаем файл в директории сайта со следующим текстом:


phpinfo(); 
?>

Здесь у меня почему-то версия php 7.3 вместо php 7.4.

Проверяем через терминал все установленные версии php на компьютере:

sudo update-alternatives --config php
Установленные версии php на компьютере

Попытался переключиться на php 7.4.

Перегрузил веб-сервер

sudo service apache2 restart

Проверил снова phpinfo. не помогло, так и висит php 7.3

Плюнул, удалил все версии 7.*

sudo apt-get purge php7.*

Установил последнюю актуальную, 7.4

sudo apt install php libapache2-mod-php php-mysql

Перезапустил апач. Проверил сайт. Все работает 🙂 

Возможно придется установить phpmyadmin

sudo apt install phpmyadmin

Если после установки увидели ошибку 500. Установите нужный модуль

sudo apt install php-mbstring

Перезагрузите апач. И на этом все) 

sudo service apache restart

Настройка аппаратного рейда через биос

Настройка BIOS

Заходим в биос. Меняем конфигурацию диска

Advanced -> IDE/SATA Configuration

Bios IDE/SATA Configuration

Меняем Configure SATA#1. Выбираем: RAID

Bios Configure SATA#1

Boot -> Boot Device Priority -> 1st Boot Device: Raid Intel raid

Bios 1st Boot device

Сохраняем конфигурацию диска и выходим с биоса.

Настройка RAID

Перегружаемся, в загрузочном окне нас встречает надпись с просьбой нажать: CTRL + i для настройки рейда. 

Внимание. У меня почему-то не получалось зайти, такое впечатление, что система не успевала распознать комбинацию. Поэтому, как только появляется первое загрузочное окно. Зажимаем CTRL и нажимаем постоянно i пока не прогрузится настройка рейда.

Открываем Create RAID Volume

Create RAID Volume

В нашем случае настраиваем RAID1. Зеркалирование дисков. 

Name — название рейда

RAID Level — уровень рейда, у нас RAID1(Mirror)

Конфигурация рейда

Disks: Выбираем диски для рейда. Соглашаемся на удаление всех данных с дисков.

Все остальное по умолчанию, и нажимаем Create Volume

Выбираем диски для рейда 1

Теперь у нас два диска в рейде. Нажимаем Exit для выхода. 

Настроенный редй1

Как очистить inodes на сервере

Сегодня утром меня разбудили звонком. На работе сайт. Открыл, смотрю не погружается. Пошел смотреть логи, а там ошибка:

No Space Left On Device

Проверяем свободное место на диске:

df -h
Место надиске

Место на диске есть, странно.

Закончились иноды? Проверим.

Пошел гуглить, посоветовали проверить иноды:

df -i

full inodes

На скриншоте выше у меня вместо 60% было 100%. 

Как найти директории которые заполнены файлами, инодами? 

Выполняем команду

sudo find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
Количество файлов в директории

Как оказалось в директории tmp сайта. Временные фалы php-сессий, почему-то перестали очищаться. Раньше такой проблемы не было.

Как удалить иноды?

Очищаем папку от всех файлов старше 7 дней tmp:

sudo find /var/www/clients/client1/web1/tmp -mtime +7 -delete

Через несколько минут все заработало. Осталось разобраться почему так случилось, ти почему сессии перестали очищаться самостоятельно. 

Установка w-fi драйверов Realtek

Приехал wi-fi адаптер с Китая. При подключении до пк автоматически не появился в сетях, пришлось установить драйверы.

2,4 ГГц + 5 ГГц wi-fi адаптер с алиекспресс

Для полной установки выполняем команды по порядку.

sudo apt update
sudo apt install build-essential git dkms
git clone https://github.com/brektrou/rtl8821CU.git
cd rtl8821CU
chmod +x dkms-install.sh
sudo ./dkms-install.sh
sudo modprobe 8821cu

Теперь в сетях у вас должен появится адаптер:

 

Появился wi-fi адаптер

Ошибка при обновлении дистрибутива LTS

Обновляем убунту до нового LTS релиза:

do-release-upgrade

На выходе получаем ошибку:

Please install all available updates for your release before upgrading.

Первый способ:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
sudo do-release-upgrade

Если вдруг не помогло, как мне, тогда второй способ.

sudo apt-get update

 

Вот и ошибка в самом низу
sudo apt list --upgradable

 

Поиск вредителя

А вот и проблема из-за которой я не мог обновиться. Осталось просто удалить ее:

sudo apt remove opera-stable

Вот и все. Обновляемся 🙂