Архив

Записи, помеченные «MySQL»

Включение функции логирования в MySQL

Добавляем следующие параметры в файл /etc/my.cnf:

[mysqld]
log = /var/log/mysqld.log
log-error = /var/log/mysqld.error.log

Далее создаем необходимые файлы для логирования запросов и ошибок MySQL:

touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
touch /var/log/mysqld.error.log
chown mysql:mysql /var/log/mysqld.error.log

Перезапускаем сервер MySQL:

/sbin/service mysqld restart

Теперь все MYSQL запросы можно можно отслеживать в реальном времени, например, так:

tail -f /var/log/mysqld.log

MySQL. Сброс/изменение пароля root в Linux.

1. Останавливаем все процессы MySQL:

# /etc/init.d/mysqld stop
# killall -9 mysqld
# kill `cat /mysql-data-directory/host_name.pid`
# mysqladmin shutdown

Чтобы проверить всели процессы mysql были завершены, исопльзуйте команду “ps ax | grep mysqld”.

2. Запускаем сервер MySQL без парольной защиты:

$ mysqld –skip-grant-tables –user=root &

или

$ mysqld –skip-grant-tables &

3. Теперь надо зайти в консоль MySQL

mysql -u root

и установить новый пароль пользователя root:

mysql> UPDATE mysql.user SET Password=PASSWORD(‘newpassword’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;

Все. теперь можно входить в MySQL с новым паролем пользователя root.



P.S. для шагов 2 и 3 существуют альтернативные способы:
2. Создать текстовый файл /tmp/init.mysql со следующим содержимым:

SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(‘newpassword’);

3. Запустить MySQL командой:

# mysqld_safe –init-file=~/mysql-init &

Тюнинг консольного клиента 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 Метки: , , , , ,

Компиляция драйвера 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 Метки: , ,

Настройка Openfire + MySQL

На всякий случай, решил записать все свои действия по установке, настройке связки mySQL+Openfire jabber server на CentOS и решение проблемы с кириллицей.
Все комментарии писал на английском(по привычке), если что будет непонятно, спрашивайте, объясню.

#Install packages:

yum -y install mysql-server httpd

#Start MySQL:

/sbin/service mysqld start

#set MySQL root password:

/usr/bin/mysqladmin -u root password ‘new-password’

#Set default encoding in MySQL:

——————/etc/my.cnf—————————-
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

#Restart mysql:

service mysqld restart

#Install openfire:

rpm -ivh openfire*.rpm

#Create openfire DB ‘openfire’ with user ‘openfire’ and password ‘openfire’:

mysql -u root -p
mysql> CREATE DАТАBASE openfire;
mysql> GRANT ALL ON openfire.* TO ‘openfire’@'localhost’ IDENTIFIED BY ‘openfire’;
mysql> use openfire;
mysql> source /opt/openfire/resources/database/openfire_mysql.sql;
mysql> exit

#Starting openfire:

/sbin/service openfire start

#Go to https://OpenFireServer:9091 and start customizing:

- Standart DataBase Connection
- driver: com.mysql.jdbc.Driver
- server: jdbc:mysql://127.0.0.1/openfire?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8

#Use utf-8 encoding in openfire:

———/opt/openfire/conf/openfire.xml—————-
jdbc:mysql://127.0.0.1:3306/openfire?characterEncoding=UTF-8

# Converting BD from latin1 to utf8:
#1. Create dump of DB:
mysqldump –default-character-set=utf8 -u openfire -p openfire > openfire.dump
#2. Open dump file and change ‘latin1′ to ‘utf8′
#3. Upload edited dump file to DB:
mysql –default-character-set=utf8 -u openfire -p openfire < openfire.dump

#Restart openfire and go to https://OpenFireServer:9091:

/sbin/service openfire restart

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

Get every new post delivered to your Inbox.

Join 28 other followers