Архив

Архив Январь 2010

Тюнинг консольного клиента MySQL

Мне довольно часто, даже постоянно приходится обращаться к разным базам данных MySQL. Испробовав немало разных GUI клиентов я понял, что они все меня не удовлетворяют. То проблемы с кодировкой, то отсутствует автодополнение кода, то не работает история запросов. В общем пришел я к использованию консольного клиента mysql. И вроде все хорошо, но была пара проблем.
Во-первых заходя в очередную закладку с открытым соединением mysql я тупо смотрел в строку приглашения и старался понять на каком я сервере нахожусь и к какой базе данных подключен. Во-вторых при выводе большого количества полей или при выводе поля с длиной превышающей ширину терминала получалась каша из черточек, букв и палочек :) . На днях я покопался в документации и с кое-чем разобрался.
Итак приглашение. Можно интерактивно переключить с помощью команды prompt. Например так:

mysql>
mysql> prompt (\u@\h) [\d]>
PROMPT set to ‘(\u@\h) [\d]>’
(www@192.168.1.33) [poll]>

где \u — пользователь, \h — хост и \d — база данных

Теперь насчет вывода. Переменная pager определяет через какую программу будет представлен вывод результатов запросов. После некоторых экспериментов с more и less, я пришел к следующему варианту:

(www@192.168.1.33) [poll]>pager less -n -i -S
PAGER set to ‘less -n -i -S’

В результате запрос увидим в привычном интерфейсе less со всеми вкусностями типа поиска и т.д.:

Конечно можно эти команды вводить в интерактивном режиме, можно их прописать как системные переменные, но все же удобнее один раз прописать их в файл ~/my.cnf например так:

[client]
default-character-set= utf8
pager = less -n -i -S
prompt =(\u@\h) [\d]>

В Windows считывание принятых по умолчанию параметров MySQL производится из следующего файла: C:\my.cnf
less для Windows можно установить отдельно. Ссылка — http://gnuwin32.sourceforge.net/packages/less.htm



Взято с хабра.

Рубрики:Linux, Windows Метки: , , , , ,

Несколько картинок для поднятия настроения :-)


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

Установка и настройка pptpd под CentOS 5

Вообще, если нужен VPN, куда лучше использовать openvpn, и работает быстрее и с прохождением NAT проблем нет. У pptpd только одно преимущество, на клиентской машине под виндой, не надо устанавливать vpn-клиент.

Итак, на сервере у нас CentOS 5, добавляем соотвествующий репозиторий:

rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm

Устанавливаем пакет:

yum -y install pptpd

В /etc/pptpd.conf добавляем, в зависимости от выбранной подсети для vpn, что-то вроде:

localip 10.1.1.1
remoteip 10.1.1.2-254

Т.е. ip сервера и диапазон ip для клиентов.

Возможно, в /etc/ppp/options.pptpd, не помешает прописать ip днс-сервера, например:

ms-dns 10.0.0.1

Теперь клиентские аккаунты. Хранятся логины и пароли в /etc/ppp/chap-secrets. Для их добавления и редактирования удобно использовать vpnuser:

vpnuser add user password

Стартуем pptpd:

service pptpd start

Чтобы pptpd-демон стартовал при загрузке, не забываем сделать:

chkconfig –level 345 pptpd on

Далее, в зависимости от конкретных задач, может быть понадобится настроить NAT или роутинг какой-нибудь, а с самим pptpd — все готово. Виндовый клиент должен коннектится с настройками по умолчанию, достаточно будет ввести имя хоста, логин и пароль.



Контроль VPN клиентов средствами traffpro

Сон. Повышение работоспособности


У многих айтишников есть проблемы со сном. Ниже — описание моей проблемы и метод, которым я её решил.
Читать далее…

Пробуждение. Повышение работоспособности


Думаю, саму проблему описывать не стоит: большинство людей знают, как трудно проснуться утром, и какие неприятные ощущения возникают при одной мысли о том, что нужно покинуть тёплую постель, в которой так хорошо и спокойно… Но вставать как-то нужно, иначе будут проблемы. Лично мне было очень тяжело вставать по утрам. Но приходилось себя заставлять, из-за чего весь оставшийся день настроение было на минусе, да и постоянно клонило в сон.
Читать далее…

BackUp. Пример простейшего скрипта

Данный скрипт, запускаясь по крону, делает резервные копии выбранных директорий (добавляя к имени архива текущую дату).
Все резервные копии хранятся в расшаренной по samba директории, откуда позже их можно скачать на другую машину.


cd /home/PUBLIC
if [ -f del_expired_files.sh ];then
echo "" >> /etc/BACKUP/backup.log
date >> /etc/BACKUP/backup.log
echo "SEARCH EXPIRED FILES..."
. ./del_expired_files.sh
fi
################################################################
# BACKUP SCRIPT #
################################################################

#Zulu MAP:
echo "" >> /etc/BACKUP/backup.log
date >> /etc/BACKUP/backup.log
echo "ZULU MAP backup started..." >> /etc/BACKUP/backup.log
convmv -r -f koi8-r -t cp1251 --notest /home/PUBLIC/MAP/
tar czf /etc/BACKUP/MAP-`date +%d.%m.%y`.tgz /home/PUBLIC/MAP/

#AO:
echo "" >> /etc/BACKUP/backup.log
date>>/etc/BACKUP/backup.log
echo "AO DIR backup started..." >> /etc/BACKUP/backup.log
convmv -r -f koi8-r -t cp1251 --notest /home/PUBLIC/AO/
tar czf /etc/BACKUP/AO-`date +%d.%m.%y`.tgz /home/PUBLIC/AO/

#SHARE:
echo "" >> /etc/BACKUP/backup.log
date>>/etc/BACKUP/backup.log
echo "PUBLIC SHARE DIR backup started..." >> /etc/BACKUP/backup.log
convmv -r -f koi8-r -t cp1251 --notest /home/PUBLIC/SHARE/
tar czf /etc/BACKUP/SHARE-`date +%d.%m.%y`.tgz /home/PUBLIC/SHARE/

#MAPINFO:
echo "" >> /etc/BACKUP/backup.log
date>>/etc/BACKUP/backup.log
echo "MAPINFO DIR backup started..." >> /etc/BACKUP/backup.log
convmv -r -f koi8-r -t cp1251 --notest /home/PUBLIC/MAPINFO/
tar czf /etc/BACKUP/MAPINFO-`date +%d.%m.%y`.tgz /home/PUBLIC/MAPINFO/

#TO:
echo "" >> /etc/BACKUP/backup.log
date>>/etc/BACKUP/backup.log
echo "TO DIR backup started..." >> /etc/BACKUP/backup.log
convmv -r -f koi8-r -t cp1251 --notest /home/PUBLIC/TO/
tar czf /etc/BACKUP/TO-`date +%d.%m.%y`.tgz /home/PUBLIC/TO/

#ESTIMATES:
echo "" >> /etc/BACKUP/backup.log
date>>/etc/BACKUP/backup.log
echo "ESTIMATE DIR backup started..." >> /etc/BACKUP/backup.log
convmv -r -f koi8-r -t cp1251 --notest /home/PUBLIC/ESTIMATE/
tar czf /etc/BACKUP/ESTIMATE-`date +%d.%m.%y`.tgz /home/PUBLIC/ESTIMATE/

echo "-------------------------------------------------------" >> /etc/BACKUP/backup.log
df -h / >>/etc/BACKUP/backup.log
df -h /home >>/etc/BACKUP/backup.log
echo "-------------------------------------------------------" >> /etc/BACKUP/backup.log
echo "" >> /etc/BACKUP/backup.log

D-Bus, экраны и скринсейверы

Вот пара интересных примеров использования D-Bus в KDE:

Например, вот так можно заблокировать экран:

qdbus org.kde.krunner /ScreenSaver Lock

Запретить запускаться хранителю экрана.

qdbus org.kde.krunner /ScreenSaver SimulateUserActivity

Правда, в этом случае X-сервер может в зависимости от настроек экран потушить. Чтобы это обойти, необходимо запустить команду

xset dpms 0 0 0

Первый аргумент xset dpms указывает время в секундах до гашения монитора без его выключения (фактически — просто «чёрный скринсейвер»), второй — до перехода в ждущий режим и третий — до выключения монитора (на практике третье действие обычно аналогично второму). Ноль, соответственно, означает выключение этих функций. К слову, эти же параметры можно настроить и в xorg.conf

Вот здесь можно найти еще кое-что интересное.

Полезные ссылки по Qt

Qt Quarterly C++ and Qt programmers’ newsletter

Russian Qt Forum

Qt Centre Forum

Qt Forum.org

Рубрики:Coding Метки: ,

Компиляция драйвера MySQL в Qt4 под Windows

Январь 20, 2010 2 комментариев(я)

cd C:\MySQL\include
dlltool –input-def libmysql.def –dllname libmysql.dll –output-lib libmysql.a -k

cd C:\Qt\2009.04\qt\src\plugins\sqldrivers\mysql
qmake -o Makefile “INCLUDEPATH+=C:\MySQL\include” “LIBS+=C:\MySQL\lib\opt\libmysql.lib” mysql.pro
mingw32-make

Рубрики:Coding Метки: , ,

Несколько советов по bash

Тут приведены некоторые полезные хитрости, направленные на более удобное использование командной строки. Все мы не хотим повторно набирать какую-то длинную команду и ищем ее в истории. Тут – пара трюков от том, как можно энто самое удобство малость повысить.

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

Рубрики:Linux Метки: ,
Follow

Get every new post delivered to your Inbox.

Join 28 other followers