вівторок, 28 січня 2014 р.

Got error 28 from storage engine - на сервері закінчилося вільне місце

Сьогодні зателефонував один з клієнтів і пожалівся, що в них не відкривався корпоративний портал 1С-Бітрікс.

Поштою мені надіслали наступне повідомлення, що виводилось у вікні браузерів при спробі підключення до порталу:

FILE: /home/bitrix/www/bitrix/modules/iblock/classes/mysql/iblock.php
LINE: 211
MySQL Query Error: SELECT DISTINCT B.* ,B.XML_ID as EXTERNAL_ID ,DATE_FORMAT(DATE_ADD(B.TIMESTAMP_X, INTERVAL -3600 SECOND), '%d.%m.%Y %H:%i:%s') as TIMESTAMP_X ,L.DIR as LANG_DIR ,L.SERVER_NAME FROM b_iblock B LEFT JOIN b_iblock_site BS ON B.ID=BS.IBLOCK_ID LEFT JOIN b_lang L ON L.LID=BS.SITE_ID WHERE 1 = 1 AND ((((B.CODE LIKE 'group_photogallery')) OR ((B.CODE LIKE 'group_photogallery_s1')))) AND ((((B.ACTIVE='Y')))) AND ((((BS.SITE_ID='s1')))) ORDER BY B.SORT asc [Got error 28 from storage engine]

DB query error.
Please try later. 

Помилка "Got error 28 from storage engine" свідчить про те, що на сервері закінчилось вільне місце. Я вже здогадувався у чому річ: назбиралося забагато резервних копій. Це мабуть єдиний випадок, коли резервні копії стають зайвими :)


Що ж, давайте перевіримо.


субота, 11 січня 2014 р.

Як зробити резервну копію бази MySQL

Один із способів - це скористатися утилітою mysqldump.
Для цього потрібно виконати команду:
mysqldump [OPTIONS] database [tables]
для однієї бази

або  mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
для декількох баз,


або  mysqldump [OPTIONS] --all-databases [OPTIONS]
для всіх баз.

Наприклад, команда
sudo mysqldump -u<name> -p<password> --routines --all-databases > /home/myfolder/filename.sql
зробить дамп усіх баз в файл "filename.sql" у каталозі "/home/myfolder/"

Параметр "--routines" потрібен для того, щоб додатково виконувався експорт збережених процедур і функцій.

пʼятниця, 10 січня 2014 р.

Як створити архів каталогу в Linux

Для того, щоб створити резервну копію файлів каталогу можна скористатися утилітою tar:

tar czf  /архів.tar.gz  /шлях/до/каталогу/

Наприклад, вам потрібно зробити архів каталогу "/home/mysite/catalogue1", зберігши файл архіву "archive-name.tar.gz" в каталог "/home/mysite/". Виконайте команду:

tar czf  /home/mysite/archive-name.tar.gz  /home/mysite/catalogue1/

В результаті буде створено потрібний вам архів. 

середа, 8 січня 2014 р.

Як переглянути список всіх баз MySQL

Для того, щоб переглянути список усіх баз MySQL використовується команда
show databases;

Спочатку підключимось до серверу баз даних 
sudo mysql -u <username> -p
вказавши на запит пароль

Далі виконуємо команду  
mysql> show databases;
і отримуємо список усіх баз.