Mysql: неизвестная переменная, не может запускать приложения mysql, похоже, это не связано с my.cnf

Моя проблема в том, что при попытке запустить MYSQL в Fedora я столкнулся со следующей ошибкой:

mysql: неизвестная переменная 'max_connections=40'

Он делает то же самое для любых других команд, таких как mysqldump, mysqlcheck и т. д. и т. д.

Файл my.cnf читает следующее, хотя я переименовал его, и ошибка все еще возникает. Похоже, что это системная переменная, которую я не могу редактировать без запуска mysql, таким образом, ловушка 22!

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Я также, конечно, проверил систему на наличие других файлов my.cnf.

Я действительно потерялся и начинаю рвать на себе волосы. Любая помощь будет принята с благодарностью! :)

Спасибо

Мэтт


person Matt Fletcher    schedule 25.04.2012    source источник
comment
Найдите в системе любые другие my.cnf файлы, которые могут быть скрыты.   -  person Mike Purcell    schedule 25.04.2012
comment
Это не связано с программированием, это относится к ServerFault.   -  person KurzedMetal    schedule 25.04.2012
comment
Я проверил систему, и она не дает никаких других файлов my.cnf. И я даже не знал, что сбой сервера существует, ха...   -  person Matt Fletcher    schedule 25.04.2012
comment
@MattFletcher: вы бы не искали, вы бы использовали find: find / -name my.cnf -type f   -  person Mike Purcell    schedule 25.04.2012
comment
Ах да, просто оплошность. Я выполнял поиск и поиск для «max_connections», но ни один из них не дал никаких результатов ... хотя на самом деле поиск для max_connections получил совпадения с двоичным файлом / bin / dbus-daemon. Это может что-то означать?? Ваше здоровье!   -  person Matt Fletcher    schedule 25.04.2012


Ответы (2)


предполагая, что ваш хороший файл конфигурации /etc/my.cnf (который может не быть), отредактируйте файл инициализации mysql и добавьте --init-file /etc/my.cnf в команду mysqld, чтобы убедиться, что он действительно читает из файла инициализации, из которого вы думаете, что он читает.

person johnshen64    schedule 25.04.2012
comment
Я попробовал это, вернул это: [root@XYZ init.d]# ./mysqld start --init-file /etc/my.cnf ..... /usr/bin/mysqladmin: неизвестная переменная 'max_connections=40' ..... Не удается проверить запуск MySQL Daemon из-за сбоя mysqladmin. ..... Запуск mysqld: [FAILED] - person Matt Fletcher; 25.04.2012
comment
у вас есть конф на стороне клиента? например .my.cnf? попробуйте использовать пользователя без полномочий root и запустить ту же клиентскую команду, например mysqladmin. - person johnshen64; 25.04.2012
comment
Ага! /root/.my.conf существует и содержит оскорбительную строку. Странно, что grep его не нашел. Большое спасибо, я должен вам одну интернет-пинту :) - person Matt Fletcher; 25.04.2012
comment
очень рад, что вы нашли проблему. ваша пинта с радостью принята. - person johnshen64; 26.04.2012
comment
Может ли кто-нибудь написать здесь, как сделать предложение/ответ @johnshen64? Я не знаю, как это сделать. :( Спасибо знатокам. - person user3856437; 08.06.2017

Ошибка: mysql: неизвестная переменная 'max_connections=**'

Одна из причин, по которой это произошло, заключалась в том, что параметр max_connections был обновлен в разделе [mysql], мы смогли войти в систему после того, как добавили его в раздел [mysqld].

person Rudra    schedule 22.01.2016