sysmerge IT

17 июл. 2015 г.

Установка sqlite2 для php5.3, php5.4

Довольно часто необходима кроме стандартного sqlite3 так же иметь и более старую версию sqlite. Так как из реп его установить возможности нет, то можно собрать руками. К сожалению версия исходников с pecl.php.net не собирается нормально (патчи тоже не помогли), то был найден альтернативный способ. О нем ниже.
Устанавливаем пакеты для работы с svn. После чего
 svn co http://svn.php.net/repository/pecl/sqlite/trunk sqlite  
 cd sqlite/  
 phpize  
 ./configure && make install  

Само собой предварительно нужно поставить php-devel и компилятор gcc.
После чего sqlite.so помещается в папку с модулями php (/usr/lib64/php/modules для Centos). Создает конфиг файл и перезапускаем апач
 # echo "extension=sqlite.so" > /etc/php.d/sqlite.ini  
 # service httpd restart  
5 июл. 2015 г.

Восстановление mysql таблиц из frm файла

Для того, чтобы восстановить таблицу mysql из .frm файла нужно выполнить пару простых операций.
В первую очередь в папке вашей бд ( /var/lib/mysql/БД/ ) создаем недостающие .MYD и .MYI файлики с нужными правами и владельцем (подсмотреть можно у соседни файлов).
После чего логинимся в консоль mysql
 # mysql -u root -p  

После чего переходим в нужную базу и исправляем поломку:
 mysql> use БД;  
 mysql> repair table ТАБЛИЦА use_frm;  

После последней операции должно получить что-то вроде
 mysql> repair table ТАБЛИЦА use_frm;  
 +-----------------+--------+----------+----------+  
 | Table      | Op   | Msg_type | Msg_text |  
 +-----------------+--------+----------+----------+  
 | БД.ТАБЛИЦА | repair | status  | OK    |  
 +-----------------+--------+----------+----------+  
 1 row in set (0.01 sec)  

Проверяем работу бд.