Войти

Показать полную графическую версию : регистронезависимость MySQL на FreeBSD


lxa85
21-02-2013, 10:47
Здравствуйте.
Есть сервер mysql версии 5.5.17
Установлен из портов FreeBSD
Необходимо сделать запросы к БД регистро-нечувствительными.
Читая документацию нашел ключ
lower_case_table_names (http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_lower_case_table_names)
Вопрос: как его правильно прописать?

/usr/local/etc/my.cnf
В раздел [mysqld] ?
В моем случае это как?
# Use default setting for mysqld processes
!include include/default_mysqld.cnf
!include include/default_client.cnf

\\прописывал здесь
[mysqld.1]
log-bin= master-bin

\\здесь
lower_case_tables_names=1

[mysqld.2]
\\здесь

[ENV]
MASTER_MYPORT= @mysqld.1.port
MASTER_MYSOCK= @mysqld.1.socket

SLAVE_MYPORT= @mysqld.2.port
SLAVE_MYSOCK= @mysqld.2.socket
\\здесь

Не спасает.
Пробовал убрать две секции, оставив только одну [mysqld].
Та же история.
/usr/local/etc/rc.d/mysql-server onestart
Решил прописать ключом при запуске.
command_args="-c -f /usr/local/bin/mysqld_safe --lower_case_table_names=1 --defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir}
--pid-file=${pidfile} ${mysql_args}"
Тоже не помогло.
Куда то еще?
Что я делаю не так?


Решение:
Все же оставить одну секцию [mysqld] в файле my.cnf
# Use default setting for mysqld processes
!include include/default_mysqld.cnf
!include include/default_client.cnf

\\прописывал здесь
[mysqld]
log-bin= master-bin
\\на всякий случай отделил табуляцией <tab> - это не писать, это кнопка )
lower_case_tables_names=<tab>1

[ENV]
MASTER_MYPORT= @mysqld.1.port
MASTER_MYSOCK= @mysqld.1.socket

SLAVE_MYPORT= @mysqld.2.port
SLAVE_MYSOCK= @mysqld.2.socket

Убедится, что в rc.d/mysql-server ключ убран из параметров запуска.
Запустить сервер и проверить переменную.
По ночам надо спать!

Ладно. Запустилась -- хорошо. Вопросы по синтаксису my.cnf остались, но это потом.




© OSzone.net 2001-2012