MySQL или MariaDB?

Оригинальная версия MySQL была разработана компанией MySQL AB, первая версия появилась в 1995 году. В январе 2008 Sun Microsystems приобрела MySQL AB за 1 миллиард долларов. Вскоре после этого, Oracle купила Sun Microsystems. Из-за недоверия к стратегии развития MySQL был создан форк под названием MariaDB.

Со временем MariaDB начала использоваться во многих дистрибутивах Linux по умолчанию. Она используется для обеспечения работы большого количества сайтов. В данном обзоре сравнивается MySQL и MariaDB.

MySQL или MariaDB

MySQL: выборка за сегодня/вчера/неделю/месяц

За сегодня:

SELECT * FROM table WHERE date >= curdate();

За вчера:

SELECT * FROM table WHERE date >= (curdate()-1) AND date < curdate();

За неделю:

SELECT * FROM table WHERE date >= DATE_SUB(curdate, interval 1 week);

За месяц:

SELECT * FROM table WHERE date >= DATE_SUB(curdate, interval 1 month);

Установка и работа с PostgreSQL

Установка PostgreSQL в Ubuntu и perl-модуля Mojo::Pg для работы с ней.

undefined

Очистка MySQL-экрана в терминале Linux

Очень часто в Ubunu пользуюсь командой clear для очистки рабочей области экрана в теминале. Работая с MySQL приходит на помощь команда:

system clear

или

\! clear

MySQL: терминатор \G

Пост для тех, кто работает с MySQL в терминале/консоли.

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

MySQL: выборка значений ОТ и ДО

Простой ответ на простой вопрос.

WHERE value BETWEEN 1 AND 10

или

WHERE field >= 1  AND field <= 10

Форматирование SQL-запросов

Не только следует форматировать программный код, но и SQL-запросы к базе данных. В отформатированный запросе гораздо быстрее и легче понять, что и откуда берется, не только другим программистам, но и, собственно вам самим (через N-ое время).

MySQL: процессы в режиме реального времени

Для просмотра процессов MySQL достаточно набрать консольную команду:

show processlist;

Но это не всегда удобно, т.к. порой необходимо отслеживать их в реальном времени. Для этой задачи существует полезная утилита Mytop.

Mytop. Процессы mysql

MySQL-бэкап. Консольные команды

Небольшая шпаргалка по работе с MySQL-бэкапами через консоль.

Делаем дамп базы в текущую директорию:

mysqldump -h host -u user -p my_database > my_dump.sql 

Создаем backup таблицы mysql:

mysqldump -h host -u user -p my_database my_table > my_table.sql 

 (для экпорта нескольких таблиц в один дамп - my_table1 my_table2)

Загружаем backup таблицы:

mysql -h host -u user -p my_database < my_table.sql

DBD::mysql - ошибка "Can't find mysql_config"

Проблема:

ОС Ubuntu 12.04. В процессе установки DBD::mysql возникла ошибка "Can't find mysql_config".

sudo cpanm DBD::mysql

Решение:

Установка дополнительного пакета libmysql++-dev:

sudo apt-get install libmysql++-dev