Войти

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


lxa85
21-02-2013, 10:59
Здравствуйте.
Прошу прощения за дубль. Просто не знаю, на что грешить больше: на ОС или на СУБД. (Как выяснилось, на зеркало пенять не стоит :) )

Есть сервер 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}"
Тоже не помогло.
Куда то еще?
Что я делаю не так?


Решение в оригинале темы (http://forum.oszone.net/thread-254558.html)

xRus
23-02-2013, 18:35
lower_case_tables_names = 2

lxa85
23-02-2013, 23:21
xRus, вопрос был не в том, какой аргумент присвоить переменной, а как правильно это сделать?
Аргумент "2" является ошибочным.
Документация identifier-case-sensitivity (http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html) Говорит что: "2" -- This works only on file systems that are not case sensitive!
Это не относится к регистрозависимой файловой системе FreeBSD.
Следовательно -- ошибка.




© OSzone.net 2001-2012