Newsgroup: it.comp.os.linux.sys
Titolo: Problemuccio con MySQL e slack 9.1

Ho installato mysql compreso nei cdrom di slackware 9.1. ho avviato la
prima volta il server e mi sono accorto di non aver creato il database.
Poco male, eseguo mysql_install_db che mi ha subito creato il database.
Quindi ho provato a fare uno start del server e questo mi si freeza dopo
pochi secondi. Ecco cosa mi dice il log:
040614 15:10:02  mysqld started
040614 15:10:02  InnoDB: Started
040614 15:10:02  Fatal error: Can't open privilege tables: Can't find
file: './mysql/host.frm' (errno: 13)
040614 15:10:02  Aborting
040614 15:10:02  InnoDB: Starting shutdown...
040614 15:10:05  InnoDB: Shutdown completed
040614 15:10:05  /usr/libexec/mysqld: Shutdown Complete
040614 15:10:05  mysqld ended
Cosa è questo file "./mysql/hosts.frm"? Dove si trova?
Come posso fare?
Ciao a tutti, Keres.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Cosa ? questo file "./mysql/hosts.frm"? Dove si trova?
Nella directory dei dati di MySQL (/var/mysql/data?) che e' specificata
nello script di avvio del database.
Davide
-- 
| A countryman between two lawyers is like a fish between two cats. --
| Ben Franklin 
| 
| 

 posto.
Credo che alcuni files non siano al posto giusto:
Quella che tu mi hai indicato come /var/mysql/data nel mio pc si trova
in:
/var/lib/mysql/mysql
Ci trovo anche il file host.frm che mi mancava. Comunque ci sono anche
altri files...


 altri files...
datadir         = /var/lib/mysql
nel file /etc/my.cnf (o dove si trova).
puoi specificarlo anche in command line ma non ti conviene.
MAx

 nel file /etc/my.cnf (o dove si trova).
Non c'è nessun file /etc/my.cnf. Ho copiato my-large.cnf in my.cnf e poi
ho aggiunto datadir all'interno di [mysqld]...
Poi ho tentato di avviare il server, ma non stà sù... Il problema
rimane lo stesso... K.


 rimane lo stesso... K.
verifica che negli script con cui lo lanci non sia specificato
diversamente.
riposta, on ogni caso. gli errori che il server ti fornisce...
ci dovresti avere un file che si chiama $hostname.err
Max

Questo è parte dello script di avvio di MySQL rc.mysqld:
/usr/bin/mysqld_safe --datadir=/var/lib/mysql
--pid-file=/var/run/mysql/mysql.pid $SKIP &
In teoria dovrebbe essere giusto, ma in realtà non funziona...
La macchina si chiama www (che nome originale, vero?) e quindi il file
di log è www.err...
Questo è il suo contenuto:
root@www:/var/lib/mysql# more www.err
040614 16:40:49  mysqld started
040614 16:40:49  InnoDB: Started
040614 16:40:49  Fatal error: Can't open privilege tables: Can't find
file: './mysql/host.frm' (errno: 13)
040614 16:40:49  Aborting
040614 16:40:49  InnoDB: Starting shutdown...
040614 16:40:51  InnoDB: Shutdown completed
040614 16:40:51  /usr/libexec/mysqld: Shutdown Complete
040614 16:40:51  mysqld ended
Keres.



Lo script di installazione dei DB lo hai eseguito come utente mysql ?

 Lo script di installazione dei DB lo hai eseguito come utente mysql ?
No, è stato eseguito da root.
Ecco la situazione:
root@www:/var/lib/mysql# ls -l
total 20514
-rw-rw----    1 mysql    mysql       25088 Jun 13 22:37
ib_arch_log_0000000000
-rw-rw----    1 mysql    mysql     5242880 Jun 14 16:40 ib_logfile0
-rw-rw----    1 mysql    mysql     5242880 Jun 13 22:37 ib_logfile1
-rw-rw----    1 mysql    mysql    10485760 Jun 14 16:40 ibdata1
drwx------    2 root     root          528 Jun 14 15:09 mysql/
drwx------    2 root     root           48 Jun 14 15:09 test/
-rw-rw----    1 mysql    root          377 Jun 14 16:40 www.err
Ho fatto un chown mysql.mysql -R * e ora il mysqld rimane funzionante...
Ciao e grazie a tutti voi, Keres.


 -rw-rw----    1 mysql    root          377 Jun 14 16:40 www.err
Eh allora non hai letto le istruzioni!!!
Come fa l'utente mysql a leggere quelle directory ??
Ti dice chiaramente di fare un chown....
Max