Задавайте вопросы, мы ответим
Вы не зашли.
Помогите разобраться со следующей проблемой. ошибка в сабже.
Имею Delphi приложение, которое записывает файл 1,8 Мб в mediumblob-поле. На mySQL базе моего хостинг-провайдера, прога работает отлично.
Другое дело, когда пытаюсь подконнектиться к локальной БД на моем linux компе (Fedora20 + mariadb последней версии). Конфиг дефолтный. Права все есть . Не в блоб поля пишется всё отменно. Видимо надо как то правильно сконфигурировать mysql сервер.
Порылся в Инете, нашел, что вроде как всё дело в параметре wait_timout. типа пока большой файл пытается записаться, этот самый таймоут заканчивается и вываливается эта ошибка.
Я нашел кучу конфигов касающихся mysql
/etc/my.conf.d/server.cnf
/etc/alternatives/mysql_config
/etc/my.cnf
и, на всякий случай, навставлял в каждый из них и практически во все секции внутри
wait_timout=10000
перезагрузился, в логе mysql ничего подозрительного не увидел. Но ошибка никуда не исчезла!
Подскажите плиз, может я не туда копаю. Решить проблему крайне желательно, т.к. Инет не всегда есть и приходится отлаживать прогу локально.
Да, и для коннекта использую Zeos
Отредактированно wowan (03.03.2014 11:16:23)
Неактивен
Каков размер max_allowed_packet ?
Неактивен
я начинающий, подскажите пожалуйста где посмотреть? в phpmyadmin нашел только
Максимальная длинна отображаемого SQL =1000. Это?
Отредактированно wowan (03.03.2014 11:23:12)
Неактивен
выполните в пхпадмине
show variables like 'max_allowed_packet';
Неактивен
1048576 , Да явно меньше чем 1800000. И какой командой поднять это значение?
Хотя вроде догадываюсь, в один из перечисленных мною конфигов
Отредактированно wowan (03.03.2014 11:30:39)
Неактивен
SET GLOBAL max_allowed_packet = XXX;
Неактивен
Указанной выше командой будет действовать до перезагрузки сервера.
В конфиге постоянно.
Неактивен
Установил на всякий случай побольше 2500000
Не прокатило, эта же ошибка.(
Неактивен
Не мелочитесь:
SET GLOBAL max_allowed_packet = 32M;
Неактивен
Ееееее, получилось! Огромное спасибо! А в какой всетаки из перечисленных мною конфигов и в какую секцию нарисовать переменные?
Неактивен
В секцию [mysqld]
А насчет какой файл:
Если вы не знаете, какой файл читает сервер,
то можно у него же и спросить:
$ which mysqld
/usr/sbin/mysqld
$ /usr/sbin/mysqld --verbose --help | grep -A 1 ‘Default options’
Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf
Неактивен
Сенькс!!!
З.Ы. Если кому интересно, то в Fedora 20 команда $which mysqld нужного пути не найдет.
Сейчас mysqld располагается в /usr/libexec
инфу о сервере также можно посмотреть по команде mysqlserverinfo
используется /etc/my.cnf , но в нем есть опция !includedir /etc/my.cnf.d
а посему также подтянутся некоторые опции и из /etc/my.cnf.d/server.cnf
Отредактированно wowan (03.03.2014 12:49:30)
Неактивен