Статьи из рубрики «mysql» RSS


Блокировки транзакций InnoDB при удалении данных из таблицы

Ситуация: есть несколько физических почтовых серверов (PowerMTA), отсылающих более четырёх миллионов сообщений в сутки. Есть виртуальный сервер базы данных (причём не очень мощный), на котором крутится с ; в базу данных пишутся логи доставки/не доставки сообщений и ведётся статистика по IP-адресам, VMTA и доменам. Попутно выполняется классификация и анализ hard и soft bounces. База за день увеличивается примерно на 5 гигабайт. Часть логов недельной давности удаляется. Далее »

Автор: , опубликовано в: MySQL, комментариев: 2
5
Фев
2011

Подсчёт трафика в nginx: часть 2

В статье «Подсчёт трафика в nginx» я приводил один из возможных вариантов живого подсчёта трафика в .

У прошлого решения есть недостатки:

  • используется три лишних процесса;
  • используется много файловых дескрипторов (зависит от количества виртуальных хостов).

Я на днях нашёл еще один вариант. Далее »

Автор: , опубликовано в: Linux, MySQL, nginx, Администрирование, комментариев: 7
21
Фев
2009

Подсчет трафика в nginx

Постановка задачи: есть -сервер, на котором живёт сотня-другая виртуальных хостов. Сервер работает под управлением . Нужно реализовать подсчет трафика с отображением «живой» статистики. Далее »

Автор: , опубликовано в: Linux, MySQL, nginx, Администрирование, комментариев: 9
23
Янв
2009

Мысли на тему массового UPDATE в MySQL

[-]
View Code MySQL
INSERT INTO `table` (`a`, `b`, `c`) VALUES
(1, 2, 3), (4, 5, 6), (7, 8, 9)
ON DUPLICATE KEY UPDATE `b`=VALUES(`b`), `c`=VALUES(`c`);

Например, для (при условии, что пара (user_id, meta_key) является уникальным ключом):

[-]
View Code MySQL
INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES
(1, 'key1', 'value1'),
(1, 'key2', 'value2'),
(1, 'key3', 'value3'),
(1, 'key4', 'value4'),
(1, 'key5', 'value5')
ON DUPLICATE KEY UPDATE `meta_value`=VALUES(`meta_value`);

Должно работать.

Автор: , опубликовано в: MySQL, комментариев: 6
18
Янв
2009

Можно ли написать серьёзное web-приложение с использованием MySQL, но без знания принципов работы MySQL?

Хотя я люблю , но то, что я увидел сегодня в коде, меня сильно потрясло.

Речь пойдёт о виджетах, а именно, о календаре и архиве. Я вкратце опишу реализацию каждого из них, а затем расскажу, почему так делать нельзя. Далее »

Автор: , опубликовано в: MySQL, Патчи, комментариев: 32
24
Ноя
2008

Чудеса…

Началось всё с того, что я забыл заплатить за Internet, и в благодарность за это мой провайдер меня безжалостно отрубил. Дело было вечером, делать было нечего, тем более, что я давно собирался написать статью про . И вот, когда я стал генерировать тестовую таблицу, начались чудеса… Далее »

Автор: , опубликовано в: MySQL, Юмор, комментариев: 3
1
Сен
2008

Доступ к удалённому MySQL-серверу по SSH

Как известно, в целях безопасности сервер по умолчанию открыт для доступа только с локальной системы. Поэтому, когда на сервере не установлен phpMyAdmin, а консольной версией клиента пользоваться просто неудобно (ненаглядно), приходится открывать доступ для удаленного пользователя. Но такое решение не самое безопасное.

В таких случаях рекомендуется использовать методику, имеющую название (перенаправление портов). Далее »

Автор: , опубликовано в: Linux, MySQL, Администрирование, Безопасность, комментариев: 4
28
Апр
2008

MySQL и скорость выполнения INSERT для разных типов таблиц

Я сейчас работаю над очень интересным проектом, который, как надеется заказчик, составит серьёзную конкуренцию Google Analytics. Но речь не об этом. Разбираясь с архитектурой системы, я обнаружил весьма интересную деталь: 8 гигабайт памяти сервера отдается под несколько таблиц типа . Так как HEAP-таблицы хранятся в исключительно в памяти, то операция вставки (INSERT) должна выполняться очень быстро, так как временные затраты, связанные с перемещением головок диска и физической записью, отсутствуют. Я решил найти подтверждение этой теории. Google is your friend, и я довольно быстро нашел статью MySQL Engine INSERT speed. Далее »

Автор: , опубликовано в: MySQL, PHP, комментариев: 4
20
Мар
2008

Хранение PHP-сессий в базе данных

Начну сразу с причин, по которым я пишу эту статью. Я периодически просматриваю запросов, по которому люди попадают сюда, и вот один из запросов — хранить сессию в .

Итак, как же хранить PHP-сессии в базе данных? Далее »

Автор: , опубликовано в: MySQL, PHP, комментариев: 21
19
Мар
2008

Конвертирование базы данных MySQL из одного charset в другой

Недавно мне пришлось столкнуться с задачей перевода базы данных из одного charset в другой. Исходная база была в iso-8859-1, предстояло перевести её в utf-8. Задача усложнялась тем, что в исходной базе присутствовали символы из других языков (русский, испанский и, возможно, китайский). Далее »

Автор: , опубликовано в: MySQL, комментариев: 6
9
Мар
2008