Здравствуйте.
Есть сервер mysql версии 5.5.17
Установлен из портов FreeBSD
Необходимо сделать запросы к БД регистро-нечувствительными.
Читая документацию нашел ключ
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 остались, но это потом.