Заметки/шпаргалка по использованию MySQL

Обслуживание, администрирование:

* Если делаем mysqldump то на все время пока будет проходить дамп, у нас залочится запись в таблицы. При больших объемах гораздо правильнее снимать дампы со slave или использвать lvm снапшот.

* Статистика по таблицам (можно сохранить как view):

SELECT table_name,engine,table_rows,
round(DATA_LENGTH/1024/1024,2) AS data_mb,
round(INDEX_LENGTH/1024/1024,2) AS index_mb,
round((DATA_LENGTH + INDEX_LENGTH)/1024/1024,2) AS total_mb
FROM information_schema.tables where TABLE_SCHEMA = database();

* Дампы собираем сразу с gzip. mysqldump db |gzip > dump.gz. Распаковываем zcat dump.gz |mysql db
* Правильно используем mysql из bash скрипта.
-N убирает название колонок таблицы
-B убирает псевдографику, используется таб как разделитель.

Использование:
* Если нужно уникальный индекс по большому текстовому полю, делаем еще одно с md5sum(textdata) и строим уникальный индекс по нему.
* Храним ip как UNSIGNED INTEGER для преобразования в строку используем inet_aton/inet_ntoa
* Редкоиспользуемые данные выносим в отдельную таблицу с egnine=ARCHIVE

Добавить комментарий

Заметки по использованию компонента TWebBrowser в Delphi 7

Изначально компонент TWebBrowser я стал применять для отображения раздела справки в своих программах. В этом варианте все совсем просто — мы кладем обычные html-файлы в папку и при необходимости вызываем что то типа  WebBrowser.Navigate(HelpDir + ‘index.html’);
Ну а сам html уже содержит все что душе угодно, с картинками, перекрестными ссылками и скриптами, доступными InternetExplorer.

Все стало намного интересней, когда я захотел через него отображать информацию из базы данных, а также программно делать изменения на отображаемой странице. Как оказалось и это все возможно.

Читать далее

Метки: | Добавить комментарий

Простая авторизация на PHP+MySQL+JavaScript+AJAX

Главная цель этого скрипта — учебная. Скрипт показывает как можно решить задачу авторизованного доступа к некоторым данным. Кроме самой авторизации реализованы формы просмотра, добавления, редактирования и удаления пользователей. Также соблюдена минимальная безопасность — данные фильтруются, типы проверяются, пароли не хранятся и не передаются в открытом виде. Сразу скажу что знаю что MD5 уже давно перебирается очень быстро, поэтому для продакшена используйте свои, более надежные алгоритмы 😉

Читать далее

Метки: , , , , , | 2 комментария

Планировщик выполнения SQL-запросов для СУБД Firebird в виде сервиса под Windows


Firebird не имеет в своем составе средств, для того чтобы периодически выполнять запросы без подключения внешней программы, поэтому если есть такая необходимость — нужно сделать свой планировщик. Этот шедулер писался для себя, так что графического интерфейса у него нет (конфигурацию вычитывает из ini-файла). Все что он умеет — по времени выполнять SQL-запрос, сохраненный в таблице задач.

Читать далее

Добавить комментарий

VR Box Remote Control Gamepad не видится Xiaomi Redmi Note 2 (решено)

VR Box Remote Control Gamepad

Для более комфортного использования VR-BOX был куплен блютуз-джойстик на aliexpress, там он назывался: «Bluetooth Wireless VR Box Remote Control Gamepad 3D VR Glasses IOS Smart Mobile Phone Universal Portable Mini Game Controller». Некоторое время я не мог заставить свой «Redmi Note 2» его увидеть и даже разобрал, чтобы посмотреть какой там чип и почему нет переключателя режима android/ios, как на картинке.

Читать далее

Рубрика: Электроника | 3 комментария

Доступ к СУБД Firebird из PHP. Делаем отображение информации на планшет из корпоративной БД.

Конечно Firebird это очень нетипичная база данных для веба, но когда стоит задача дать людям возможность оперативно у себя на телефоне или планшете видеть информацию из корпоративной СУБД, которая как раз на Firebird, то написать несколько несложных php-скриптов и поставить локальный веб-сервер куда проще, чем создавать отдельное приложение под android и iOS.

Читать далее

1 комментарий

3d Google cardboard, Oculus Rift, обзор очков виртуальной реальности VR-BOX (Virtual Reality)

Став счастливым обладателем очков виртуальной реальности VR-BOX решил немного поделится опытом с теми, кто еще только планирует их брать и заинтересовать тех, кто даже и не планировал 😉 Основные возможности: просмотр 3D-стерео видео (типа IMAX), 360-градусных круговых видео (в которых можно вертеть головой), а также 3D-игры как на телефоне так и на компьютере.

Читать далее

Рубрика: Без рубрики | Метки: , , | 3 комментария

Delphi и компонент для вывода информации в Excel. Простой генератор отчетов.

В мой небольшой самописный delphi-компонент для генерации отчетов в Excel добавлена возможность упрощающая вывод итоговых строк.

Читать далее

Метки: , , , | Добавить комментарий

Вредоносные скрипты распространяемые расширением браузера (вирус на сайте)

На днях столкнулся с новой заразой, которая распространяет вредоносный код по сайтам, сидя при этом в плагине браузера! Ко мне обратился человек с просьбой обезвредить вирус на своем сайте. То что сайт заражен он понял по тому что стал срабатывать антивирус, не давая открыть страницу, но самое интересное оказалось в том, как этот вредоносный код попал на сайт.

Читать далее

Рубрика: Интернет, Сайты, Сайты | Метки: , | Добавить комментарий

СУБД Firebird. Сколько весит NULL

Хотя в базах данных значение NULL обычно обозначает «ничего», но тем не менее это «ничего» вполне себе занимает место и память. Встроенное в Firebird сжатие записей делает проблему не столь актуальной, но все еще довольно заметной для таблиц с миллионами строк.

Читать далее

Рубрика: Программирование, Программирование, Программирование, Программирование, Программирование, Программирование, Программирование | Метки: , , , | Добавить комментарий