Настройте mysql 8 с нижними_символами_таблиц в CentOS 7 - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь установить mysql 8 intsall на centos 7 и у меня чертовски много времени.У нас есть какое-то устаревшее программное обеспечение, которое подключалось к старым БД mysql через строчные имена, и я хочу перенести это на новую настройку.

У меня проблемы с правильной настройкой этого конфига, я не знаю, какой файл устанавливать, когда его устанавливать или даже какой уровень пользователя / разрешения устанавливать.

Когда я устанавливаю его в 1 в /etc/my.cnf, затем пытаюсь запустить mysqld, я получаю:

[ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('0') and data dictionary ('1').

Я переустановил mysql, думая, что новый старт поможет мне/etc/my.cnf со следующими настройками:

lower_case_table_names=1
default_authentication_plugin=mysql_native_password
bind-address=REDACTED
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

После установки mysql-сервера и копирования файла .cnf на место я запускаю:

mysqld --defaults-file=/etc/my.cnf

и меня приветствуют:

2018-10-22T21:30:27.826322Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)
2018-10-22T21:30:27.826414Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)
2018-10-22T21:30:28.057606Z 0 [Warning] [MY-010091] [Server] Can't create test file /var/lib/mysql/be-db-10.lower-test
2018-10-22T21:30:28.057668Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 27077
2018-10-22T21:30:28.060609Z 0 [Warning] [MY-010091] [Server] Can't create test file /var/lib/mysql/be-db-10.lower-test
2018-10-22T21:30:28.060628Z 0 [Warning] [MY-010091] [Server] Can't create test file /var/lib/mysql/be-db-10.lower-test
2018-10-22T21:30:28.061062Z 0 [ERROR] [MY-010187] [Server] Could not open file '/var/log/mysqld.log' for error logging: Permission denied
2018-10-22T21:30:28.061098Z 0 [ERROR] [MY-010119] [Server] Aborting

Я полагаю, что в какой-то момент я по-королевски испортил некоторые разрешения, или mysql не был полностью удален?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Прежде чем можно изменить значение lower_case_table_names, удалите mysql в CentOs 7

yum remove mysql mysql-server

После процесса удаления переименуйте или удалите данные mysql

mv /var/lib/mysql /var/lib/mysql_backup (резервное копирование) или rm -rf /var/lib/mysql (удалить)

Установить заново mysql

yum install mysql mysql-server

Перед запуском сервера MySQL добавьте lower_case_table_names=1 в /etc/my.cnf, например:nano /etc/my.cnf Сохраните файл, а затем запустите сервер mysql с помощью команды systemctl start mysqld

. Проверка результата может быть выполнена с помощью запроса SHOW VARIABLES like 'lower%';

. Вы должны получить lower_case_table_names со значением * 1027.*

Надеюсь, это поможет.

0 голосов
/ 26 октября 2018

Я почти уверен, что lower_case_table_names должен быть установлен перед установкой .Новый «Словарь данных» необходимо создать один раз с фиксированной настройкой.

Так что, да, полностью удалить и полностью начать заново (после изменения my.cnf).

...