Страница 1 из 1
Проблемы с Exim после обновления MySQL
Добавлено: 2014-06-13 16:44:09
Nick_mad
Здравствуйте
Обновил MySQL с версии 5.1 до 5.5
MySQL 5.1 был собран с такими параметрами
/etc/make.conf
Код: Выделить всё
#MySQL
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql51-server
WITH_CHARSET=cp1251
WITH_COLLATION=cp1251_bin
BUILD_OPTIMIZED=yes
BUILD_STATIC=yes
WITHOUT_INNODB=yes
.endif
#MySQL-client
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql51-client
WITH_CHARSET=cp1251
WITH_COLLATION=cp1251_bin
BUILD_OPTIMIZED=yes
.endif
Обновился все работает только вот с кодировкой была проблема но поправил добавив в файл /etc/my.cnf
Код: Выделить всё
[mysqld]
character-set-server=cp1251
collation-server=cp1251_bin
[client]
default-character-set=cp1251
default-collation=cp1251_bin
настроена связка exim + vexim + mysql + dovecot
после обновления MySQL начал получать такую ошибку
Код: Выделить всё
2014-06-13 15:24:11 1WvQ0V-000BEX-Lj == info@domain.biz.ua R=ditch_hdrto defer (-1): condition check lookup defer
То есть ясно что проблема в роутере ditch_hdrto но до обновления все работало. Возможно запросы в БД криво идут после обновления или еще что-то.
В общем помогите плз, подскажите куда копать.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-06-13 21:07:06
Alex Keda
в сторону дебага
там всё будет написано
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-06-13 22:31:25
Nick_mad
Код: Выделить всё
--------> ditch_hdrto router <--------
local_part=info domain=domain.biz.ua
checking "condition"
iconv error translating "=?UTF-8?B?0KLQntCSINCS0IbQn9Ce?=" to ISO-8859-1: Illegal byte sequence
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select count(*) from blocklists,users,domains where blocklists.blockhdr = 'to' and blocklists.blockval = 'п?п·п? п?п?п?п· <info@domain.biz.ua>' and users.localpart = 'info' and domains.domain = 'domain.biz.ua' and domains.domain_id=blocklists.domain_id and users.user_id=blocklists.user_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select count(*) from blocklists,users,domains where blocklists.blockhdr = 'to' and blocklists.blockval = 'п?п·п? п?п?п?п· <info@domain.biz.ua>' and users.localpart = 'info' and domains.domain = 'domain.biz.ua' and domains.domain_id=blocklists.domain_id and users.user_id=blocklists.user_id"
database lookup required for select count(*) from blocklists,users,domains where blocklists.blockhdr = 'to' and blocklists.blockval = 'п?п·п? п?п?п?п· <info@domain.biz.ua>' and users.localpart = 'info' and domains.domain = 'domain.biz.ua' and domains.domain_id=blocklists.domain_id and users.user_id=blocklists.user_id
MySQL query: select count(*) from blocklists,users,domains where blocklists.blockhdr = 'to' and blocklists.blockval = 'п?п·п? п?п?п?п· <info@domain.biz.ua>' and users.localpart = 'info' and domains.domain = 'domain.biz.ua' and domains.domain_id=blocklists.domain_id and users.user_id=blocklists.user_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
MYSQL: query failed: Illegal mix of collations (cp1251_bin,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
lookup deferred: MYSQL: query failed: Illegal mix of collations (cp1251_bin,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
condition check lookup defer
added retry item for R:info@domain.biz.ua: errno=-1 more_errno=0 flags=0
post-process info@domain.biz.ua (1)
LOG: MAIN
== info@domain.biz.ua R=ditch_hdrto defer (-1): condition check lookup defer
погуглил и нашел
http://www.interworks.com/blogs/bbausil ... -collation
сделал
Код: Выделить всё
mysql
use vexim
ALTER TABLE blocklists CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
ALTER TABLE domainalias CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
ALTER TABLE domains CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
ALTER TABLE groups CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
ALTER TABLE group_contents CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
ALTER TABLE users CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
Вроде заработало, пойду проверять плотней
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-07-30 12:39:08
Nick_mad
Здравствуйте.
Вчера обновил ПО и опять полезли проблемы с почтой
в логах
Код: Выделить всё
2014-07-30 12:31:16 H=mails.m-mail.com.ua [91.224.75.65] F=<odyag23-315-0729e@m-mail.com.ua> temporarily rejected RCPT <nick@domain.org.ua>: MYSQL: no data found
то есть опять какие то проблемы с мускулом, хотя обновился exim
Подскажите что это значит а то по MYSQL: no data found тяжело что то предположить. Не понятно почему запросы возвращают пустой результат. Кстати если в phpmyadmin выполнить этот же запрос то он тоже возвращает пустой результат.
Код: Выделить всё
exim -d -bt nick@domain.org.ua
Exim version 4.83 (FreeBSD 8.4) uid=0 gid=0 pid=15885 D=fbb95cfd
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() use_setclassresources PAM Perl Expand_dlfunc OpenSS L Content_Scanning DKIM Old_Demime PRDR
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbm nz dnsdb dsearch mysql nis nis0 passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Compiler: GCC [4.2.1 20070831 patched [FreeBSD]]
Library version: OpenSSL: Compile: OpenSSL 0.9.8y 5 Feb 2013
Runtime: OpenSSL 0.9.8y 5 Feb 2013
: built on: date not available
Library version: PCRE: Compile: 8.34
Runtime: 8.34 2013-12-15
Total 14 lookups
Library version: MySQL: Compile: 5.5.38 [Source distribution]
Runtime: 5.5.38
WHITELIST_D_MACROS unset
TRUSTED_CONFIG_LIST unset
changed uid/gid: forcing real = effective
uid=0 gid=0 pid=15885
auxiliary group list: 0
seeking password data for user "www": cache not available
getpwnam() succeeded uid=80 gid=80
seeking password data for user "mailnull": cache not available
getpwnam() succeeded uid=26 gid=26
seeking password data for user "root": cache not available
getpwnam() succeeded uid=0 gid=0
changed uid/gid: calling tls_validate_require_cipher
uid=26 gid=6 pid=15886
auxiliary group list: 6
tls_validate_require_cipher child 15886 ended: status=0x0
configuration file is /usr/local/etc/exim/configure
log selectors = 00000ffc 002b2001
trusted user
admin user
seeking password data for user "mailnull": cache not available
getpwnam() succeeded uid=26 gid=26
seeking password data for user "mailnull": using cached result
getpwnam() succeeded uid=26 gid=26
originator: uid=0 gid=0 login=root name=Charlie Root
sender address = root@domain.org.ua
Address testing: uid=0 gid=6 euid=0 egid=6
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing nick@domain.org.ua
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering nick@domain.org.ua
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing nick@domain.org.ua
--------> dnslookup router <--------
local_part=nick domain=domain.org.ua
checking domains
search_open: mysql "NULL"
search_find: file="NULL"
key="SELECT DISTINCT domain FROM domains WHERE type = 'local' AND enabled = '1 ' AND domain = 'domain.org.ua'" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="SELECT DISTINCT domain FROM domains WHERE type = 'local' AND e nabled = '1' AND domain = 'domain.org.ua'"
database lookup required for SELECT DISTINCT domain FROM domains WHERE type = 'l ocal' AND enabled = '1' AND domain = 'domain.org.ua'
MySQL query: SELECT DISTINCT domain FROM domains WHERE type = 'local' AND enable d = '1' AND domain = 'domain.org.ua'
MYSQL new connection: host=localhost port=0 socket=/tmp/mysql.sock database=vexi m user=vexim
lookup yielded: domain.org.ua
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="SELECT DISTINCT alias FROM domainalias WHERE alias = 'domain.org.ua'" parti al=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="SELECT DISTINCT alias FROM domainalias WHERE alias = 'domain.org .ua'"
database lookup required for SELECT DISTINCT alias FROM domainalias WHERE alias = 'domain.org.ua'
MySQL query: SELECT DISTINCT alias FROM domainalias WHERE alias = 'domain.org.ua'
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
MYSQL: no data found
lookup failed
domain.org.ua in "@ : domain.org.ua : "? yes (matched "@")
domain.org.ua in "! +local_domains"? no (matched "! +local_domains")
dnslookup router skipped: domains mismatch
--------> mailman_router router <--------
local_part=nick domain=domain.org.ua
checking require_files
file check: /usr/local/mailman/lists/$local_part/config.pck
expanded file: /usr/local/mailman/lists/nick/config.pck
stat() yielded -1
errno = 2
mailman_router router skipped: file check
--------> ditch_maxmsgsize router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select users.maxmsgsize from users,domains where localpart = 'nick' and d omain = 'domain.org.ua' and users.maxmsgsize > 0 and users.domain_id=domains.domai n_id " partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select users.maxmsgsize from users,domains where localpart = ' nick' and domain = 'domain.org.ua' and users.maxmsgsize > 0 and users.domain_id=do mains.domain_id "
database lookup required for select users.maxmsgsize from users,domains where lo calpart = 'nick' and domain = 'domain.org.ua' and users.maxmsgsize > 0 and users.d omain_id=domains.domain_id
MySQL query: select users.maxmsgsize from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and users.maxmsgsize > 0 and users.domain_id=domains .domain_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
MYSQL: no data found
lookup failed
ditch_maxmsgsize router skipped: condition failure
--------> ditch_malware router <--------
local_part=nick domain=domain.org.ua
checking "condition"
ditch_malware router skipped: condition failure
--------> ditch_spam router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select users.sa_refuse * 10 from users,domains where localpart = 'nick' a nd domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.domain_id=do mains.domain_id and users.sa_refuse > 0 " partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select users.sa_refuse * 10 from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.d omain_id=domains.domain_id and users.sa_refuse > 0 "
database lookup required for select users.sa_refuse * 10 from users,domains wher e localpart = 'nick' and domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.domain_id=domains.domain_id and users.sa_refuse > 0
MySQL query: select users.sa_refuse * 10 from users,domains where localpart = 'n ick' and domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.domain _id=domains.domain_id and users.sa_refuse > 0
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
MYSQL: no data found
lookup failed
ditch_spam router skipped: condition failure
--------> ditch_hdrmailer router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select count(*) from blocklists,users,domains where blocklists.blockhdr = 'x-mailer' and blocklists.blockval = '' and users.localpart = 'nick' and domain s.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and users.us er_id=blocklists.user_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select count(*) from blocklists,users,domains where blocklists .blockhdr = 'x-mailer' and blocklists.blockval = '' and users.localpart = 'nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id a nd users.user_id=blocklists.user_id"
database lookup required for select count(*) from blocklists,users,domains where blocklists.blockhdr = 'x-mailer' and blocklists.blockval = '' and users.localpa rt = 'nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists. domain_id and users.user_id=blocklists.user_id
MySQL query: select count(*) from blocklists,users,domains where blocklists.bloc khdr = 'x-mailer' and blocklists.blockval = '' and users.localpart = 'nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and us ers.user_id=blocklists.user_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
lookup yielded: 0
ditch_hdrmailer router skipped: condition failure
--------> ditch_hdrto router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select count(*) from blocklists,users,domains where blocklists.blockhdr = 'to' and blocklists.blockval = '' and users.localpart = 'nick' and domains.doma in = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and users.user_id= blocklists.user_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select count(*) from blocklists,users,domains where blocklists .blockhdr = 'to' and blocklists.blockval = '' and users.localpart = 'nick' and d omains.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and use rs.user_id=blocklists.user_id"
database lookup required for select count(*) from blocklists,users,domains where blocklists.blockhdr = 'to' and blocklists.blockval = '' and users.localpart = ' nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain _id and users.user_id=blocklists.user_id
MySQL query: select count(*) from blocklists,users,domains where blocklists.bloc khdr = 'to' and blocklists.blockval = '' and users.localpart = 'nick' and domain s.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and users.us er_id=blocklists.user_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
lookup yielded: 0
ditch_hdrto router skipped: condition failure
--------> ditch_hdrfrom router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select count(*) from blocklists,users,domains where blocklists.blockhdr = 'from' and blocklists.blockval = '' and users.localpart = 'nick' and domains.do main = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and users.user_i d=blocklists.user_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select count(*) from blocklists,users,domains where blocklists .blockhdr = 'from' and blocklists.blockval = '' and users.localpart = 'nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and u sers.user_id=blocklists.user_id"
database lookup required for select count(*) from blocklists,users,domains where blocklists.blockhdr = 'from' and blocklists.blockval = '' and users.localpart = 'nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists.doma in_id and users.user_id=blocklists.user_id
MySQL query: select count(*) from blocklists,users,domains where blocklists.bloc khdr = 'from' and blocklists.blockval = '' and users.localpart = 'nick' and doma ins.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and users. user_id=blocklists.user_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
lookup yielded: 0
ditch_hdrfrom router skipped: condition failure
--------> ditch_hdrsubject router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select count(*) from blocklists,users,domains where blocklists.blockhdr = 'subject' and blocklists.blockval = '' and users.localpart = 'nick' and domains .domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and users.use r_id=blocklists.user_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select count(*) from blocklists,users,domains where blocklists .blockhdr = 'subject' and blocklists.blockval = '' and users.localpart = 'nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id an d users.user_id=blocklists.user_id"
database lookup required for select count(*) from blocklists,users,domains where blocklists.blockhdr = 'subject' and blocklists.blockval = '' and users.localpar t = 'nick' and domains.domain = 'domain.org.ua' and domains.domain_id=blocklists.d omain_id and users.user_id=blocklists.user_id
MySQL query: select count(*) from blocklists,users,domains where blocklists.bloc khdr = 'subject' and blocklists.blockval = '' and users.localpart = 'nick' and d omains.domain = 'domain.org.ua' and domains.domain_id=blocklists.domain_id and use rs.user_id=blocklists.user_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
lookup yielded: 0
ditch_hdrsubject router skipped: condition failure
--------> virtual_vacation router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select users.on_vacation from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and users.on_vacation = '1' and users.domain_id=domains.d omain_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select users.on_vacation from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and users.on_vacation = '1' and users.domain_i d=domains.domain_id"
database lookup required for select users.on_vacation from users,domains where l ocalpart = 'nick' and domain = 'domain.org.ua' and users.on_vacation = '1' and use rs.domain_id=domains.domain_id
MySQL query: select users.on_vacation from users,domains where localpart = 'nick ' and domain = 'domain.org.ua' and users.on_vacation = '1' and users.domain_id=dom ains.domain_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
MYSQL: no data found
lookup failed
virtual_vacation router skipped: condition failure
--------> virtual_forward router <--------
local_part=nick domain=domain.org.ua
checking "condition"
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select users.on_forward from users,domains where localpart = 'nick' and d omain = 'domain.org.ua' and users.on_forward = '1' and users.domain_id=domains.dom ain_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select users.on_forward from users,domains where localpart = ' nick' and domain = 'domain.org.ua' and users.on_forward = '1' and users.domain_id= domains.domain_id"
database lookup required for select users.on_forward from users,domains where lo calpart = 'nick' and domain = 'domain.org.ua' and users.on_forward = '1' and users .domain_id=domains.domain_id
MySQL query: select users.on_forward from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and users.on_forward = '1' and users.domain_id=domai ns.domain_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
MYSQL: no data found
lookup failed
virtual_forward router skipped: condition failure
--------> virtual_domains router <--------
local_part=nick domain=domain.org.ua
calling virtual_domains router
rda_interpret (string): ${lookup mysql{select smtp from users,domains where loca lpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and d omains.enabled = '1' and users.enabled = '1' and users.domain_id = domains.domai n_id}}
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select smtp from users,domains where localpart = 'nick' and domain = 'faa f.org.ua' and domains.enabled = '1' and users.enabled = '1' and users.domain_id = domains.domain_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select smtp from users,domains where localpart = 'nick' and do main = 'domain.org.ua' and domains.enabled = '1' and users.enabled = '1' and users .domain_id = domains.domain_id"
database lookup required for select smtp from users,domains where localpart = 'n ick' and domain = 'domain.org.ua' and domains.enabled = '1' and users.enabled = '1 ' and users.domain_id = domains.domain_id
MySQL query: select smtp from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and domains.enabled = '1' and users.enabled = '1' and users.doma in_id = domains.domain_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
lookup yielded: /usr/local/mail/domain.org.ua/nick/Maildir
expanded: /usr/local/mail/domain.org.ua/nick/Maildir
file is not a filter file
parse_forward_list: /usr/local/mail/domain.org.ua/nick/Maildir
extract item: /usr/local/mail/domain.org.ua/nick/Maildir
search_open: mysql "NULL"
cached open
search_find: file="NULL"
key="select users.sa_tag * 10 from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.domain_id=domai ns.domain_id " partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select users.sa_tag * 10 from users,domains where localpart = 'nick' and domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.doma in_id=domains.domain_id "
database lookup required for select users.sa_tag * 10 from users,domains where l ocalpart = 'nick' and domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.domain_id=domains.domain_id
MySQL query: select users.sa_tag * 10 from users,domains where localpart = 'nick ' and domain = 'domain.org.ua' and users.on_spamassassin = '1' and users.domain_id =domains.domain_id
MYSQL using cached connection for localhost:(/tmp/mysql.sock)/vexim/vexim
MYSQL: no data found
lookup failed
virtual_domains router: defer for nick@domain.org.ua
message: virtual_domains router failed to expand "${if or { { <{$spam_score_in t}{1} } { <{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users, domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mys ql:$domain}' and users.on_spamassassin = 1 and users.domain_id=domains.domain_id }{$value}fail}} } { eq {0}{${lookup mysql{select users.sa_tag * 10 from users,do mains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql :$domain}' and users.on_spamassassin = 0 and users.domain_id=domains.domain_id}{ $value}fail}}} } {X-Spam-Score:X-Spam-Report} }": missing } at end of string ins ide "or{...}" condition
nick@domain.org.ua cannot be resolved at this time: Temporary internal error
search_tidyup called
close MYSQL connection: localhost:(/tmp/mysql.sock)/vexim/vexim
>>>>>>>>>>>>>>>> Exim pid=15885 terminating with rc=1 >>>>>>>>>>>>>>>>
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-07-30 15:54:50
Nick_mad
Я причины понять не могу почему вчера работало а сегодня нет. И соеединяется он с БД или может нет коннекта. Ребята ткните носом я в отпуске как то голова не сильно варит в этом направлении.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-07-30 16:28:26
Nick_mad
в файле /usr/ports/UPDATING нашел
Код: Выделить всё
20140722:
AFFECTS: users of mail/exim
AUTHOR: vsevolod@FreeBSD.org
The behaviour of expansion of arguments to math comparison functions (<, <=,
=, =>, >) was unexpected, expanding the values twice. Please update your
configuration if you have relied on such an expansion.
Не совсем понял что это означает и как обновить конфигурационные файлы. Может быть это проблемой того что в условиях sql запросов есть = и поэтому оно не хочет работать??
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-07-30 21:05:48
xM
Nick_mad писал(а):Не совсем понял что это означает и как обновить конфигурационные файлы. Может быть это проблемой того что в условиях sql запросов есть = и поэтому оно не хочет работать??
Если именно в SQL запросах, то это отношения не имеет.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-07-30 22:05:47
Nick_mad
Сделал portdowngrade до версии 4.82.1 заработвло все. Пока пусть будет так а приеду с отпуска будем выгребать что там нового накрутили
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-12-14 0:49:25
DeathStar_Name
Устранили данную проблему? А то так и приходится на 4.82.1 сидеть.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-12-15 17:06:40
Nick_mad
К сожалению, нет, но я ею и не занимался. Но планирую обязательно ее решить.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-12-19 14:12:46
skeletor
Это проблема непосредственно exim'a, которую обещают пофиксить в 4.85. В конце обсуждения
http://www.gossamer-threads.com/lists/exim/users/100446 есть ссылка на баг, в котором есть патч. У самого руки не доходят проверить его работоспособность.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-12-19 16:39:48
Nick_mad
Ну тогда нам остается просто ждать.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-12-19 19:06:45
xM
Там речь идёт исключительно о headers_remove...
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-12-19 20:58:05
FiL
Nick_mad писал(а): Кстати если в phpmyadmin выполнить этот же запрос то он тоже возвращает пустой результат.
Ну так если запрос реально возвращает пустой результат, значит дело не в софте, а в запросе, не?
Ну, или в базе.
Смотрите запрос, смотрите данные... Напишите нужный запрос руками в конце концов и проверьте, что он возвращает нужные данные. А потом этот запрос уже скормите почтовику.
Re: Проблемы с Exim после обновления MySQL
Добавлено: 2014-12-19 21:53:05
xM
По своему опыту, а я регулярно обновляю Exim и MySQL 5.5 при каждом из апдейте в дереве портов, никаких проблем с этой связкой за последние 4 года я не видел. Т.е. вопрос не в Exim и не в MySQL как таковых.
Проблемы с Exim после обновления MySQL
Добавлено: 2017-02-04 11:09:43
Nick_mad
Здравствуйте.
Спустя некоторое время дошли руки заняться этой проблемой, оказалось все достаточно просто.
Дело явно было не в MySQL потому как уже несколько веток MySQL поменял но при обновлении exim выше 4.82 почта переставала ходить.
В общем обновился и внимательно изучая exim -d+all -M 1cZuiX-000HgP-0I дочитался наконец то
Код: Выделить всё
message: virtual_domains router failed to expand remove_headers item "NULL": "${quote_mysql" is not a known operator (or a } is missing in a variable reference) inside "or{...}" condition
Я посмотрел на remove_headers в virtual_domains
Код: Выделить всё
# headers_add = ${if >{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains \
# where localpart = '${quote_mysql:$local_part}' \
# and domain = '${quote_mysql:$domain}' \
# and users.on_spamassassin = '1' \
# and users.domain_id=domains.domain_id }{$value}fail}} {X-Spam-Flag: YES\n}{} }
# headers_remove = ${if or { { <{$spam_score_int}{1} } \
# { <{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains \
# where localpart = '${quote_mysql:$local_part}' \
# and domain = '${quote_mysql:$domain}' \
# and users.on_spamassassin = 1 \
# and users.domain_id=domains.domain_id}{$value}fail}} } \
# { eq {0}{${lookup mysql{select users.sa_tag * 10 from users,domains \
# where localpart = '${quote_mysql:$local_part}' \
# and domain = '${quote_mysql:$domain}' \
# and users.on_spamassassin = 0 \
# and users.domain_id=domains.domain_id}{$value}fail}}} \
# } {X-Spam-Score:X-Spam-Report} }
Это конфиг от vexim, и поскольку я не пользуюсь системой антиспамаи, я просто все это закоментировал и все заработало.