Мне удалось найти каталог для установки MySQL: /usr/local/mysql/
Где я могу найти путь к my.cnf
чтобы знать, где мне настроить сервер? Я пробовал создать /etc/my.cnf
(как показано ниже), и это не повлияло
[mysqld]
#charset
collation_server=utf8_general_ci
character_set_server=utf8
default_character_set=utf8
Согласно Эта статья:
Выполнение этой команды из командной строки / терминала покажет, где MySQL будет искать файл my.cnf в системах Linux / BSD / OS X:
mysql --help | grep "Default options" -A 1
Это выведет что-то вроде этого:
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
Теперь вы можете проверить файлы, используя приведенный выше вывод в /etc/my.cnf
, затем /etc/mysql/my.cnf
и так далее. Если его нет в одном из этих мест, вы можете создать его и знать, что MySQL будет его использовать.
В системе Linux самым быстрым решением будет «найти my.cnf».
Если есть несколько файлов my.cnf, все выглядят вероятными (например, в /etc
, /etc/mysql
, /opt/mysql/etc
и т. д.), тогда вы можете запустить strace
чтобы увидеть, где двоичный файл MySQL пытается найти свой файл конфигурации, но я думаю, что это перебор.
Хорошо, дикий выстрел в темноте:
Если база данных установлена в /usr/local/mysql
, затем попробуйте заглянуть /etc/local
для my.cnf
Вот как узнать, есть ли у вас my.cnf
Запустите этот запрос (<= 5.6.7)
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME IN ('wait_timeout',
'innodb_buffer_pool_size','innodb_log_file_size');
ИЛИ (>= 5.6.8)
он переместился в схему производительности.
SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME IN ('wait_timeout',
'innodb_buffer_pool_size','innodb_log_file_size');
SHOW GLOBAL VARIABLES LIKE 'wait_timeout';
SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW GLOBAL VARIABLES LIKE 'innodb_log_file_size';
Если вы получите:
(>= 5.6.8)
50331648(<= 5.6.7)
5242880Вы работаете со значениями по умолчанию, и есть вероятность, что не может быть my.cnf
настоящее время.
Как вы установили MySQL и на какой платформе?
Метод грубой силы на unixoid OS:
find / -name my.cnf -print
strace -fe open /etc/init.d/mysql start 2>&1|grep my.cnf
должен показать вам системный вызов, используемый для открытия файла.
Похоже, что созданный вами файл cnf заменяется другим. Ознакомьтесь с порядком по умолчанию ниже.
Из
mysqld --verbose --help
Параметры по умолчанию считываются из следующих файлов в указанном порядке: /etc/my.cnf ~ / .my.cnf /etc/my.cnf
Как вы уверены, что ваш файл cnf не читается?
Вы перезапускали mysqld после внесения изменений?
Вы пробовали создать новую базу данных и смотрели ее значения?
Чтобы установить, найдите и обновитеb, чтобы запустить его ..
Используя Fedora, centos запускается от имени пользователя root:
yum install mlocate
если вы используете Ubuntu, запустите:
sudo apt-get install mlocate
После завершения установки запустите обновленную Fedora (от имени пользователя root):
$updatedb
Ubuntu:
sudo updatedb
затем вы можете запустить команду locate, как указано выше. Опять же, my.cnf обычно находится в / etc. Вы уверены, что mysql установлен? Если нет, выполните приведенные выше команды, чтобы установить его и заменить mlocate на mysqld, желаю удачи!