Percona MySQL Server

Технологии
Как Вы знаете, движок таблиц InnoDB в MySQL стал платным. Теперь пакетные бесплатные версии этой СУБД поставляются только с MyISAM, Memory и несколькими другими движками. InnoDB по-умолчанию теперь не установлен.
Движок InnoDB в MySQL остается бесплатным (опять включен в 5.5), но судя по всему поддержка и развитие community версии будет идти с большим опозданием.
Парни из компании Percona уже давно делают свою собственную сборку сервера, в которой установлен продвинутый движок XtraDB (на базе InnoDB). Посмотрим поближе на этот продукт.
Читать дальше

MySQL Workbench – Визуальный редактор MySQL баз

Software


MySQL Workbench – инструменте разработки, проектирования и обслуживания баз данных MySQL. Это настоящая находка для программиста PHP, да и не только PHP, которому приходится зачастую, помимо выполнения прямых обязанностей ещё и выступать в роли архитектора баз данных.
Читать дальше

Cнятие и установка дампа в MySQL (mysqldump)

How-to
В теории все просто — MySQL из коробки имеет утилиту mysqldump, которая позволяет снять копию базы в виде набора SQL инструкций.

В реальности все гораздо хуже. Дело в том, что mysqldump криво работает с кодировками, отличными от Latin1. Тоесть экспортировать базу в UTF8 следуя официальной документации (man mysqldump), тоесть с указанием --default-character-set=utf8, и импортировать ее потом обратно — не представляется возможным. Кодировка будет битая в следствии «двойного преобразования», выполняемого утилитой mysqldump — пруфлинк

Собственно, по ссылке выше есть и рецеп. Суть его в том, что нужно экспортировать базу и затем импортировать ее в Latin1 вне зависимости от того, какая реально кодировка используется. При этом конечно нужно вычестить из *.sql файл инструкции SET NAMES…
Читать дальше

PostgreSQL vs. MySQL

Полезности
Традиционно, сравнение PostgreSQL и MySQL с обеих сторон подогревается фанатиками. Это технически сильные, открытые базы данных с большим количеством установок. Однако, на самом деле, редко какая-то из сильных сторон любой из них дает явное преимущество при выборе.

Как только люди понимают сильные стороны каждого продукта, сразу становится ясно, что именно им нужно. Для того, чтобы правильно оценить преимущества PostgreSQL и MySQL, давайте взглянем на их историю и «родословную» и рассмотрим их функциональность и производительность, а так же требования для успешного разворачивания базы данных предприятия.

Историческая справка
Сообщество PostgreSQL — самое старое, крупное и быстрорастущее в своём роде. Разработка PostgreSQL началась в 1985, в университете Беркли, Калифорния в качестве эволюции проекта Ingres. После нескольких лет в институтских кругах он был выпущен в мир Open Source. Сообщество стало процветать и сейчас насчитывает более тысячи разработчиков и 30000 активных участников.

Главное преимущество большого сообщества — это взаимодействие между пользователями и разработчиками, благодаря которой пользователи могут напрямую участвовать в создании новых возможностей. Такое разностороннее сообщество — это модель, к которой стремятся многие open-source сообщества.

Сообщество MySQL, в свою очередь, было создано в коммерческом мире. MySQL начала свое существование в 1994 году в Швеции из-за потребности в скоростной базе данных для веб-сайтов. Несколько лет спустя она была выпущена в мир open-source под контролем MySQL AB. Именно это помогло MySQL стать одной из самых широко используемых баз данных в мире (что привело к приобретению MySQL AB компанией Sun в 2008 году). Популярность MySQL также сыграла важную роль в том, что Европейская комиссия одобрила в рамках ЕС сделку по приобретению Sun корпорацией Oracle, которая завершилась в начале этого года.

Читать дальше

Установка: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»

Debian
Данная заметка является шпаргалкой для новичков в установке нормально работающего комплекса, описанного в заголовке. Все пункты установки протестированы несколько раз на разных vds, поэтому проблем с нехваткой чего-то быть не должно, как это обычно бывает, когда ставишь что-то по мануалам, надерганных из разных источников. Подробно описания настроек и «тюнинга» в заметке нет, т.к. это всё очень индивидуально и требует понимания что, как и зачем делается, а это невозможно охватить в одной даже очень большой шпоре. :)

Перво-наперво обновляем список пакетов:
apt-get update

Ставим необходимое для ручной установки и некоторых других хитрым манипуляций:
apt-get install build-essential

NGINX


Ставим библиотеки, необходимые для установки nginx в той конфигурации, которую мы будем ставить (pcre обязательная всегда, ssl — опционально, если конфигурируем nginx с ней):
apt-get install libpcre3-dev
apt-get install openssl
apt-get install libcurl4-openssl-dev

В пакетах Дебиана, к сожалению, в стабильном варианте валяется очень старая версия nginx, поэтому будем ставить сервер вручную. Заходим в темп:

Читать дальше

Резервное копирование (backup) баз MySQL

Полезности
Попался мне на просторах интернета один из скриптов для создания бэкапов баз данных, в чем его плюс – создает отдельный архив под каждую базу данных, в отличии от стандартного mysqldump с ключем –all-databases который пишет все базы в один файл для меня получается не совсем правильный бэкап, т.е мне это ни подходит.По мне лучше каждая база -отдельный файл.
В любом случаи желательно сделать пользователя от которого будем делать бекапы, из прав дадим ему права на просмотр баз,SELECT и Lock Tables, я приведу пример как создать из командной строки:

$ mysql -pПАРОЛЬ

-p, –password=[password] – Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем.
-u, –user=[user] – Имя пользователя для соединения с сервером MySQL. Необязательно, по умолчанию используется такое же, как ваш логин.Используется если логин отличается от имени пользователя для соединения с сервером MySQL.

$ mysql> CREATE USER ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.02 sec)
$ mysql> GRANT SELECT , LOCK TABLES ON * . * TO ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.00 sec)

для примера пользователь back и его пароль 123456

И для общего развития предложу один из вариантов с использованием mysqldump, может кому пригодиться:

Читать дальше

Proxy-сервер SQUID web-интерфейс для администрирования SAMS SAMS+REJIK с аунтентификацией по NTLM

Руководство
Настраиваем связку SQUID SAMS+REJIK с аунтентификацией по NTLM.
Так как есть ДОМЕН под управление Win 2003 Server, и нужна авторизация пользователя под своей учетной записью и так же вести логи и предоставлять информацию начальству в случаи надобности.
Авторизация пользователей будет по NTLM.
Для всего нам понадобится apache, php, mysql, сам squid, sams, samba. Все это нам предстоит установить, или обновить.

Для начало ставим скопом apache, php, mysql:
$ aptitude install apache2 apache2-doc apache2-utils ssl-cert mysql-server libmysqlclient15-dev libapache2-mod-php5 php5 php5-common php5-dev php5-mcrypt php5-imagick php5-mysql

Для того, чтобы пользователи могли проходить NTLM аутентификацию, необходимо настроить авторизация через Active Directory, и здесь вы будем использовать samba, kerberos, winbind, pam. Настраиваем и введем наш сервер в домен:

Читать дальше

Roundcube Webmail 0.4

Web

Roundcube — перспективный webmail-клиент для служб IMAP. При разработке не в последнюю очередь уделялось внимание эргономике и эстетике интерфейса. Присутствуют поддержка HTML-сообщений, проверка орфографии, многоязыковая поддержка. При включенном JavaScript используются возможности AJAX. В качестве механизмов хранения данных предлагаются MySQL, PostgreSQL или SQLite; поддерживаются адресные книги в LDAP. Благодаря гибкой архитектуре, использующей плагины, достигается расширяемость функциональности (например, загрузка пользовательских Sieve-скриптов по протоколу ManageSieve).

Читать дальше

Правим кодировки MySql

Руководство
Целью было, чтобы сервер MySql работал с кодировкой utf8.

По-умолчанию в Ubuntu MySql устанавливается с кодировкой latin1.
Это можно посмотреть:

mysql> show variables like ‘char%’;

в результате получим вот такой вывод:

character_set_client latin1
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/


Читать дальше