Postfix + Mysql time out

559 risposte [Ultimo contenuto]
Ritratto di cheis
cheis
(Monster)
Offline
Monster
Iscritto: 07/11/2004
Messaggi: 349

Nel server mail di casa in cui ho Postfix + mysql + amavis ho visto il seguene errore in mail.log:
<br />Jan 19 11:50:10 localhost amavis[2096]: (02096-07) lookup_sql: 2006, MySQL server has gone away<br />Jan 19 11:50:10 localhost amavis[2096]: (02096-07) NOTICE: Disconnected from SQL server<br />Jan 19 11:50:10 localhost amavis[2096]: (02096-07) TROUBLE in check_mail: cached FAILED: DBD::mysql::st execute failed: MySQL server has gone away at (eval 38) line 238, &lt;GEN35&gt; line 55.<br />

Leggendo su google ho trovato che potrebbe essere il timeout di mysql. Infatti sui server casalinghi (non di produzione come il mio) dove c'è poco traffico mysql dopo un tot si autosecca visto il timeout ecceduto. Il mio problema e che in /etc/mysql/my.cnf non trovo nessun parametro che abbia a che fare col timeout..
Quindi dove posso settare tale timeout??

TNX

[=x-small]Knowledge is power: SHARE IT BABY!!![/]
_____________________________________________

Ritratto di cheis
cheis
(Monster)
Offline
Monster
Iscritto: 07/11/2004
Messaggi: 349

Continua a presentarsi questo problema uso mysql 4.1 su sarge ed ho letto in giro che la 5 ha risolto questo tipo di problema... Ma come posso allungare il timeout??

Grazie.

[=x-small]Knowledge is power: SHARE IT BABY!!![/]
_____________________________________________

Ritratto di paolo
paolo
(Webmaster)
Offline
Webmaster
Iscritto: 04/10/2004
Messaggi: 1260

Ciao cheis, ho googlato un po e ho trovato questo link:
http://archive.netbsd.se/?ml=amavis-user&a=2004-12&m=553237

Praticamente devi aumentare il timeout del server mysql aggiungendo queste linee di configurazione nel tuo /etc/my.cnf, questo e' il codice:

<br />interactive timeout†4000<br />wait timeout†4000<br />

Devi riavviare in sequenza, mysql e poi amavis, spero di averti aiutato, tienici aggiornati.

Ciao. Wink

Paolo Mainardi
CTO Twinbit http://www.twinbit.it
Vice Presidente -- ILDN - Italian Linux DIstro Network

Ritratto di cheis
cheis
(Monster)
Offline
Monster
Iscritto: 07/11/2004
Messaggi: 349

Ok perfetto grazie mille del suggerimento... Ora aspettero' qualche giorno per vedere se il problema si ripresenta; al limite allungherò il timeout...

Già che ci sono vorrei chiedere un'altra cosa e penso di non andare molto OT quindi mi permetto di scrivere qui:

Usando mysql4.1 ho riscontrato il problema che se utilizzavo nella riga di /etc/hosts
<br />127.0.0.1       localhost.localdomain  <br />
mysql non riusciva ad accedere ai database della macchina locale.
Usando invece
<br />127.0.0.1       localhost  <br />
mysql ci accede.
Il problema è che così quando invio le mail servermail come quelli di libero mi respingono le mail perchè il server inviante nn risulta FQDN.
Quindi come posso risolvere sta cosa??

P.S.: mysql5.0 risolveva da solo questa cosa, ma visto che uso sarge ho mysql4.1.

Grazie. Big Grin

[=x-small]Knowledge is power: SHARE IT BABY!!![/]
_____________________________________________

Ritratto di kripsio
kripsio
(Collaboratore)
Offline
Collaboratore
Iscritto: 10/09/2004
Messaggi: 1486

Fai chiarezza sui termini.
mysql è un dbrms non può accedere a se stesso... al limite un utente (quale?) non ha accesso.

Invio le mail, ancora, non è chiaro. In che modo? Da cosa? di che tipo? Che c'entra mysql?

Tipicamente una mail è quasi obbligatorio inviarle da un fqdn. L'isp ne mette sempre a disposizione uno: usalo come relay.

Ciau!

Ritratto di cheis
cheis
(Monster)
Offline
Monster
Iscritto: 07/11/2004
Messaggi: 349

In effetti ho dato parecchie cose per scontate; preciso meglio:

Uso mysql per gli utenti virtuali del servermail locale alle mia rete.
In /var/log/mail.log ottenevo un errore del tipo:
<br /> ...warning: connect to mysql server mailtest: Access denied for user &#039;provider_admin&#039;@&#039;localhost.localdomain&#039; (using password: YES)<br />

In giro ho trovato questo suggerimento:
Quote:

You seem to have an entry localhost.localdomain in your /etc/hosts file. Remove it. (Note: this has been discussed on the debian-devel mailing list. It was said that localhost.localdomain is correct. So you can as well grant MySQL privileges on localhost.localdomain instead of localhost. MySQL 5.0 will understand that these two host entries are identical.)

Quindi con phpmyadmin ho "ben" pensato di modificare la tabella user del database mysql aggiungendo a localhost --> localhost.localdomain in tutti i campi in cui c'era localhost; facendo così pero' al riavvio di mysql ottengo:

<br />Starting MySQL database server: mysqld.<br />Checking for crashed MySQL tables in the background.<br />/usr/bin/mysqladmin: connect to server at &#039;localhost&#039; failed<br />error: &#039;Access denied for user &#039;debian-sys-maint&#039;@&#039;localhost&#039; (using password: YES)&#039;<br />

E nn riesco ad accedere più...

mmmm... belle robe.... Thinking

[=x-small]Knowledge is power: SHARE IT BABY!!![/]
_____________________________________________

Ritratto di kripsio
kripsio
(Collaboratore)
Offline
Collaboratore
Iscritto: 10/09/2004
Messaggi: 1486

grant all on table.* to user@localhost.localdomain identified by 'password'
mi sembra di ricordare di averti già postato una cosa di questo tipo riguardo la configurazione di un server di posta con mysql se non vado errando.

Il secondo è un errore tipico di debian.
Se spulci il file di avvio del demone mysql noterai che esso fa riferimento a tale utente per un controllo di mysql ed in caso di fallimento fa macelli.
Onde per cui devi ridargli l'autorizzazione

cat /etc/mysql/debian.cnf vedi la pass dell'utente che puoi cambiare se vuoi.

Ti incollo questo che trovai in giro e conservo nei miei archivi:
Quote:

Thursday, May 6, 2004, 5:35:00 PM, you wrote:

TCFn> I recently came upon this error message when deleting a large number
TCFn> of rows from a MyISAM table on MySQL 4.1.0: ERROR 1030 at line 1: Got
TCFn> error 127 from table handler.

Think, "mysqlcheck -r <DATABASENAME>" can help you.

--
Best regards, Victor mailto:mrlomax [at] mail.ru

hmm, so ive been trying to figure this one out myself without lodging a

support ticket, I dont run anything hugely important on mysql, and maybe
someone else here has been through the same drama.

basically my host server restarted, when i checked my emails to day I
had one from root...

Quote:
/usr/bin/mysqlcheck: Got error: 1045: Access denied for user:
'debian-sys-maint@localhost' (Using password: YES) when trying to
connect

Improperly closed tables are also reported if clients are accessing
the tables *now*. A list of current connections is below.

so it turns out that debian-sys-maint, and root, cannot login to mysql.

so, i figure, okay, ill first stop mysql, then load mysql without any
security with:

Code:

/usr/bin/mysqld_safe --skip-grant-tables&

then reset my passwords

Code:

use mysql; update user set password = password('whatever') where user =
'root' and host='localhost'; update user set password =
password('whatever') where user = 'debian-sys-maint' and
host='localhost'; flush privileges;

so it turns out that debian-sys-maint, and root, cannot login to mysql.

so, i figure, okay, ill first stop mysql, then load mysql without any
security with:

Code:

/usr/bin/mysqld_safe --skip-grant-tables&

then reset my passwords

Code:

use mysql; update user set password = password('whatever') where user =
'root' and host='localhost'; update user set password =
password('whatever') where user = 'debian-sys-maint' and
host='localhost'; flush privileges;

then I edited the /etc/mysql/debian.cnf to have the same password as I
set for debian-sys-maint and restarted sql:

Code:

/etc/init.d/mysql stop /etc/init.d/mysql start

interpreta un po' come ti fa comodo e vedrai che risolve.

Byez! Big Grin

Ritratto di cheis
cheis
(Monster)
Offline
Monster
Iscritto: 07/11/2004
Messaggi: 349

Quote:

kripsio ha scritto:
grant all on table.* to user@localhost.localdomain identified by 'password'
mi sembra di ricordare di averti già postato una cosa di questo tipo riguardo la configurazione di un server di posta con mysql se non vado errando.

Pareva anche a me ed in effetti ho cercato nel forum ma nn ho trovato.. Anche perchè c'erano parecchie robe su mysql e non mi ricordavo con quale titolo avessi postato...

Quote:

Il secondo è un errore tipico di debian.
...

Diciamo che è stata più una cavolata mia... :roll:

Quote:

so, i figure, okay, ill first stop mysql, then load mysql without any
security with:

Code:

/usr/bin/mysqld_safe --skip-grant-tables&

then reset my passwords

Code:

use mysql; update user set password = password('whatever') where user =
'root' and host='localhost'; update user set password =
password('whatever') where user = 'debian-sys-maint' and
host='localhost'; flush privileges

In effetti ho stoppato mysql, riavviato in modalità safe come sopra citato, sono rientrato in phpmyadmin rimediando ai miei errori (tolto il localdomain dal campo host), cosicchè stoppando mysql e riavviandolo normalmente nn ci sono stati problemi.
All'interno della shell mysql ho selezionato il database del mailserver, ho dato un bel:
<br />grant all on *.* to cheis@localhost.localdomain identified by &#039;password&#039; ;<br />flush privileges;<br />
ho riavviato mysql e postfix per scrupolo (anche se forse nn era necessario) et voilà il gioco e fatto!!!!!!!!
Le mail arrivavano ai server di libero senza che fossero rigettate in quanto il server mail locale risultava finalmente FQDN.

[=x-small]Knowledge is power: SHARE IT BABY!!![/]
_____________________________________________

Ritratto di kripsio
kripsio
(Collaboratore)
Offline
Collaboratore
Iscritto: 10/09/2004
Messaggi: 1486

Quote:

Quindi con phpmyadmin ho "ben" pensato di modificare la tabella user del database mysql aggiungendo a localhost --> localhost.localdomain in tutti i campi in cui c'era localhost; facendo così pero' al riavvio di mysql ottengo:

Dimenticavo questo.
Non fare macelli a modificare le tabelle degli utenti con phpmyadmin.. fai il bravino Big Grin. Usa i comandi adatti, aggiungi user e non eliminare mai le cose già fatte... se sono state fatte ci sarà un motivo... Smile

Ritratto di cheis
cheis
(Monster)
Offline
Monster
Iscritto: 07/11/2004
Messaggi: 349

Un post intero penso sia da dedicare ai ringraziamenti a Kripsio che, per l'ennesima volta, mi ha tolto le castagne dal fuoco attraverso cose semplici e mirate..
E' grazie alla disponibilità e alla conoscenza di persone del tuo calibro che i forum hanno successo; e questo mi pare che ne abbia anche grazie a te (sottolineo anche, non vorrei sminuire il lavoro di qcuno altro: vedi paolo, anche lui sempre molto disponibile).
E' che mi pareva doveroso ringraziare visto che su 357 post che ho inviato ad almeno 250 (se nn di più) hai risposto tu.

Grazie, penso anche a nome di tanti altri. Big Grin

P.S.: Con questo nn vorrei andare OT e mi fermo qua :-P

[=x-small]Knowledge is power: SHARE IT BABY!!![/]
_____________________________________________

Ritratto di kripsio
kripsio
(Collaboratore)
Offline
Collaboratore
Iscritto: 10/09/2004
Messaggi: 1486

Apro la ruota come un pavone o arrossisco? Big Grin

Grazie di cuore, è un piacere, davvero.