NON RIESCO A CONNETTERE MYSQL

di il
12 risposte

NON RIESCO A CONNETTERE MYSQL

Buongiorno a tutti, come scritto nella sezione PHP, sto cercando di creare il mio primo sito web. Sto cercando di collegare mysql, ho scaricato il pacchetto dmg dal sito e l'ho installato. Ho seguito questa guida: http://www.macosx.it/index.php/site/articolo/installare_mysql_mai_stato_cosi_facile/
ma quando vado a digitare sul terminale la stringa
/usr/local/mysql/bin/mysql
mi da un errore. Vi allego l'immagine.

Grazie a chi mi da un aiuto.
Allegati:
24018_99b4faaa37446ae9a3e1285c9276f7d2.png
24018_99b4faaa37446ae9a3e1285c9276f7d2.png

12 Risposte

  • Re: NON RIESCO A CONNETTERE MYSQL

    L'errore mi sembra chiaro:cerchi di accedere senza password
  • Re: NON RIESCO A CONNETTERE MYSQL

    Non è proprio così: è mysql (il client) che richiede nome utente e password
    Sembra morire subito.
    controlla Air-di-Davide.err

    PS dal momento che uso praticamente tutti server BSD, ogni volta che vedo MAC (che è BSD con una GUI e un filesystem preistorico) mi scappa da ridere...
  • Re: NON RIESCO A CONNETTERE MYSQL

    Perfetto ma anche accedendo con sudo non mi richiede password di accesso. Durante l'installazione non mi ha richiesto password da inserire. Ho continuato comunque a leggere la guida sul link che ho postato e ho configurato una password, ma anche dopo aver fatto cio mi da lo stesso errore.

    Soluzioni?
  • Re: NON RIESCO A CONNETTERE MYSQL

    La password va sempre indicata.
    mysql -uroot -ppippo ti farà connettere come utente root e password pippo. sudo non ti serve in questo caso
  • Re: NON RIESCO A CONNETTERE MYSQL

    Il problema è appunto che non riesco a connettermi, come detto nel primo post.
  • Re: NON RIESCO A CONNETTERE MYSQL

    Siccome sei alle prime armi ti descrivo grosso modo come funziona.
    C'è un programma (si chiama mysqld) detto server mysql o demone, che deve essere in esecuzione sul computer.
    esso (mysqld) può essere lanciato A MANO (cioè da riga di comando) ma ha il problema che se, per qualche motivo, "muore", il sistema non funzionerà più.
    Allora si usa mysqld_safe che (grosso modo) controlla che mysqld sia vivo. Se è morto => lo avvia.
    C'è poi il metodo per farlo "autoavviare" (cioè parte all'avvio del computer senza dover essere avviato manualmente).

    ---
    In tutti i casi mysqld parte SE e SOLO SE trova una cartella coi dati "giusti", e un file di configurazione "giusto" (in realtà se questo manca parte lo stesso coi valori di default).
    Quando si avvia ha due modalità:
    - con pipe
    - con socket
    Il primo caso si usa nei sistemi ad elevata sicurezza (e non è il tuo). Il secondo, che è quello "classico" sulla porta tipicamente 3706, opera creando un PID, in sostanza un file di testo dove sopra scrive banalmente il suo process-id.

    In pratica: mysqld parte, scrive sul file pid il suo pid, e sta lì. Se "muore", cioè esiste un file pid, ma non un processo corrispondente, mysqld_safe (ammesso sia stato avviato e configurato) lo riavvia.

    In ogni caso la cosa più importante è verificare il file .err (di testo), che contiene le stringhe di avvio.
    Lì vedrai qualcosa "mysql si è incazz..ato a morte, ma è riuscito lo stesso ad avviarsi", oppure "non mi avvio perchè le tabelle sono corrotte" eccetera
    ---
    Bene, quando mysqld è in esecuzione puoi usare mysql (senza la d) che è il client.
    Per connetterti ti serve una tripletta: nome utente, password e COMPUTER.
    Infatti mysql distingue gli utenti non solo per il nome, ma anche per l'IP/DNS da cui arrivano.
    Potresti avere l'utente davide@localhost che è DIVERSO dall'utente davide@ilmiobelpc.
    Lo stesso vale per root (l'utente amministratore).
    Usualmente si imposta come password (per root) %, cioè "per tutte le origini".

    Tornando a bomba:
    mysql -uroot -ppippo ti fa connettere come root@localhost e password pippo.
    Se ti dà vari errori si decide cosa fare
    (il server mysql non c'è è una cosa, cerchi di connetterti senza password è un'altra, la password è sbagliata un'altra ancora)
  • Re: NON RIESCO A CONNETTERE MYSQL

    Quindi devi
    1) capire se mysqld si avvia oppure no (controllando il file .err ed eventualmente l'esistenza del pid)
    2) se si avvia => mysql -uroot -ppippo
    a quel punto leggi il messaggio d'errore

    Come saprai la & alla fine del comando avvia in background.
    Se lanci mysqld & (oppure mysqld_safe &) esso si avvia, ed avrai ancora il cursore MA non leggerai i messaggi che dà.
    TI consiglio quindi (in qualità di niubbo) di aprire DUE shell.
    In una lancerai mysqld_safe SENZA & (così leggi eventuali errori).
    Nell'altra provi a connetterti, controlli i log eccetera.
  • Re: NON RIESCO A CONNETTERE MYSQL

    Grazie per il tempo perso ad aiutarmi. Te ne sono grato.

    Ho avviato mysqld e questo è quel che ne esce fuori (allego l'immagine).

    Chiedo scusa se sono impacciato e grazie ancora
    Allegati:
    24018_5996cad2874926cc5fcb24011f8247a9.png
    24018_5996cad2874926cc5fcb24011f8247a9.png
  • Re: NON RIESCO A CONNETTERE MYSQL

    Se hai su installato fai prima
    sudo su
    e poi lancia i comandi
    altrimenti tocca mettere sudo tuttalapappardella/mysqld
  • Re: NON RIESCO A CONNETTERE MYSQL

    Ciao a tutti, grazie per l'aiuto ma ho risolto il problema. Ora me ne sorge un altro pero non so se sia giusto porlo qua. Ci provo lo stesso: ho creato uno script per la connessione del sito al database che ho creato con mysql, e per far cio si utilizza ovviamente la chiamata a funzione mysql_connect(...); Ora come faccio a sapere quale host mettere? è "localhost" giusto?

    Grazie
  • Re: NON RIESCO A CONNETTERE MYSQL

    Tipicamente è 127.0.0.1, localhost (sebbene molto simile) non è esattamente identico (ma qui entriamo nel livello esoterico).

    per inciso mysql_connect è straobsoleta e strasconsigliata, ti suggerisco di orientarti fin da subito su PDO, così "parti col piede giusto"
  • Re: NON RIESCO A CONNETTERE MYSQL

    Problema risolto. Quando andavo a fare il dumping del database, non chiamavo il backup con lo stesso nome, di conseguenza non riusciva (lo script) a trovare il file fisico. Inoltre avevo fatto un errore di passaggio di path tra gli script stessi. Un po di confusione ci sta.
Devi accedere o registrarti per scrivere nel forum
12 risposte