PDA

View Full Version : Problema con MySql


dan_
01-04-2006, 00:16
ciao raga,

ho installato mysql v. 4.0.23 in C:\mysql
=> è apparso il basso il semaforo "verde" in basso a destra.

vorrei collegare un file con estensione sql a mysql dalla linea di comando
per potermi esercitare con i db e capire qualcosina di più :rolleyes:
( e qui iniziano i problemi ... ) :muro:

seguendo le istruzioni del libro basta copiare in C:\mysql il
file con estensione .sql e collegarlo a mysql

da questa posizione "C:\mysql\bin" clicco su mysql.exe

quindi digito "source C:\mysql\newland_tours.sql" a premo invio:

parte un suono orrendo con 1 messaggio di errore ( allego immagine ) ... noto delle cose:

- la connessione a internet la perdo
- nell' immagine noto che la scritta in alto suono così: "your mySQL connection id is 2 to server version: 4.0.23-nt" mentre nel libro leggo "your mySQL connection id is 4 to server version: 4.0.23-nt"

non so che fare ... :confused: mi affido alla vostra esperienza.
Grazie.

pinok
01-04-2006, 02:57
il database newland_tours l'hai creato ?
Per entrare in mysql da riga di comando, cosa hai digitato ?

0rph3n
01-04-2006, 09:14
ma ti sei autenticato?
boh, a me sembra di no!
se si, che permessi ha l'utente con il quale sei autenticato?

'iao

dan_
01-04-2006, 09:26
allora ... io ho un 2 file di database e 1 file .sql che ho provato ad aprire con blocco note ed è pieno di informazioni; ho copiato questo file .sql in C:\mysql.

Per dire a mysql dove si trovava il file ho digitato:
source C:\mysql\newland_tours.sql ( qui il pasticcio )

Autenticarmi ... ? nn so ... ho provato a scorrere il capitolo e più avanti da le istruzioni per accedere al db mysql da dream tramite connessione. Solo che il passetto prima è appunto dire a mysql dove si trova il file .sql.

0rph3n
01-04-2006, 10:52
a me quando apro MySQL Command Line mi chiede sempre la password per l'utente di root:
http://img105.imageshack.us/img105/3427/mysqlcommandline9dh.th.png (http://img105.imageshack.us/my.php?image=mysqlcommandline9dh.png)
però come puoi vedere io uso il 5.0.18 e non so come si comporti la tua versione anche se le poche volte che ho usato una versione < 5 mi sembra di ricordare che me la chiedesse.
Durante l'installazione ti ha chiesto di specificare la pass per l'utente root?
Comunque prova a scaricarti MySQL Administrator e vedi se riesci a stabilire una connessione al server (ti ci vuole un username e relativa password, ma da qualche parte devi averli specificati!)

'iao

dan_
02-04-2006, 01:05
ciao,

durante l' installazione nn mi ha kiesto di specificare niente ...

ho installato la versione 4.1.7 e nella schermata di configurazione, dopo aver impostato:

- standard configuration
- cekkato "install as windows service", launch automatically
- modificato le impostazioni di sicurezza inserendo una psw root
- al click su "execute" mi da questo messaggio: cannot create windows services. Error 0. ( una x rossa su "start service" )

cosa posso fare per far andare mysql? ho seguito il tutorial passo passo a questo indirizzo (http://www.phpnews.it/content/view/67/80/1/3/). :muro:

:help:, grazie.

dan_
02-04-2006, 20:37
:help:

dan_
03-04-2006, 10:41
Non so cosa possa significare questo messaggio di errore ( cannot create windows services. Error 0 ) però credo che possa esser dovuto al fatto ke ho installato versioni precedenti e successive e magari si sn creati pasticci [ io ho disinstallato mysql dal pannello di controllo, basta? ]

:help: , aspetto vostri consigli, grazie

0rph3n
03-04-2006, 11:09
Ciao,
pure a me un paio di volte è uscito quell'errore.
Praticamente checkando "Install as windows service" fai in modo che appunto MySQL Server si installi e venga eseguito come servizio di windows.
Molto probabilmente la disinstallazione relativa ad uno dei tentativi di installazione precedenti non è andata completamente a buon fine e non ha rimosso il servizio, e la nuova installazione cerca di crearne uno nuovo con lo stesso nome di quello che c'è già e da qui l'errore.
(scusa per la spiegazione ingarbugliata)
Prova a disinstallare MySQL da "Installazione Applicazioni", poi controlla in:
"Pannello di Controllo" -> "Strumenti di Amministrazione" -> "Servizi"
se è presente un servizio che si chiama MySQL o qualcosa del genere.
In caso affermativo, da prompt digita:
"sc delete NomeServizioMySQL"
poi elimina la cartella in cui avevi installato MySQL e prova e reinstallarlo!
Fai sapere come va ^_^

'iao

0rph3n
03-04-2006, 11:14
Ah nel caso non avessi il Windows Resource Kit installato e che quindi "rs delete NomeServizioMySQL" non funzionasse, prova a scaricare Mike’s Service Remover (http://www.openwin.org/mike/download/MikesServiceRemover.zip) e ad eliminare il servizio di MySQL con questo tool.

'iao

0rph3n
03-04-2006, 11:16
Dimenticavo, una soluzione più semplice ma brutta sempre sarebbe quella di scegliere un'altro nome per il servizio di MySQL durante la configurazione, ma così facendo il vecchio servizio rimarrebbe.

'iao

dan_
03-04-2006, 12:46
grazie orph3n, provo immediatamente e t dico!

0rph3n
03-04-2006, 13:01
di niente, veloce però che sono curioso :D

dan_
03-04-2006, 13:13
di niente, veloce però che sono curioso :D

bene funzia!!! grande!
ora come faccio a connettere quel file sql?
dove lo posiziono? lo collego sempre cn la scritta dalla linea di comando come ho scritto prima?

dan_
03-04-2006, 13:29
sn cambiate 1 pò di cose ... :

-nn trovo il file WinMySQLadmin.exe, al suo posto trovo: mysqladmin.exe che cliccato nn da nessun risultato ( una brevissima schermata tipo prompt )

-nn vedo il "semaforo verde in basso a destra"

-ho copiato il file sql di cui parlavo prima, posizionato in C:\programmi\MySQL e come risultato ottengo tante righe "Query OK".

funziona tutto?

0rph3n
03-04-2006, 14:33
ora sono in bar dai miei a dare una mano e non ho molto tempo, comunque:

per quanto riguarda WinMySQLadmin.exe prova a scaricare MySQL Administrator (http://dev.mysql.com/downloads/administrator/index.html)
per quanto riguarda il semaforino ( :D ) prova con MySQL System Tray Monitor che se non sbaglio dovrebbe installarsi assieme a MySQL Administrator

per il resto posto stasera o al massimo domani!

'iao

dan_
03-04-2006, 17:39
ok, grazie 1000, ho installato mysql-administrator-1.1.9-win.msi ma il semaforino nn c'è.

Quando clicco mySQL administrator mi appare una schermata dove posso connettermi a mySQL server instance. Devo inserire:

stored connection ( :confused: )
server host ( :confused: :confused: )

user
psw

--------------------------------
Questa sarebbe la finestra con la versione "evoluta" del semaforino con la sua finestra di dialogo corrispondente con tutti i dati??


grazie per l' aiuto,
a presto!

dan_
04-04-2006, 00:19
ciao, ho provato a connettere il db a dream e dice ke nn supporta l' autenticazione .... :muro:

praticamente io nell' installazione ho specificato solo la psw ... qui mi kiede anche il nome utente > io ho inserito root ma nn funzica.

Dove posso modificare / aggiungere il nome utente?
I dati ke mi kiede dream per la connessione sono:

-nome connessione
-server MySQL: localhost
-nome utente: root
-psw
-database: <nome db>

Che fare?
a presto! :D

0rph3n
04-04-2006, 11:41
ok, grazie 1000, ho installato mysql-administrator-1.1.9-win.msi ma il semaforino nn c'è.
Ma sei sicuro? Sotto
"Start" -> "Programmi" -> "MySQL"
non c'è "MySQL System Tray Monitor"?
Una volta avviato dovrebbe uscire nella system tray un'icona del genere (quella di sinistra quando il server non è avviato, mentre quella di destra quando è avviato):http://img156.imageshack.us/img156/8639/mysqlsystemtrayicon9pt.png (http://imageshack.us)
e clickandoci sopra con il tasto destro dovresti avere questo menu:http://img156.imageshack.us/img156/3971/mysqlsystemtraycontextmenu8gw.th.png (http://img156.imageshack.us/my.php?image=mysqlsystemtraycontextmenu8gw.png)
Quando clicco mySQL administrator mi appare una schermata dove posso connettermi a mySQL server instance. Devo inserire:

stored connection ( :confused: )
Allora, devi (oddio non è che devi, non è necessario ma è utile nel caso ti voglia connettere usando più connessioni con parametri differenti) crearti una stored connection, per farlo basta che clicki sul pulsante con i tre puntini a destra del combo della stored connection appunto.
Ti apparirà questo form:
http://img80.imageshack.us/img80/9647/mysqladministrator22gb.th.png (http://img80.imageshack.us/my.php?image=mysqladministrator22gb.png)

Connection: non è influente (è il nome della connessione);
Username e Password: mi sembra ovvio;
Hostname: devi inserire o il nome o l'indirizzo ip della macchina che hosta il server, nel caso questo fosse sulla stessa macchina, basta che tu inserisca "localhost" (il nome che punta all'indirizzo ip di loopback) o "127.0.0.1" (che è l'indirizzo ip di loopback);
Port: se non hai specificato un'altra porta in fase di configurazione lascia quella di default;
Type: ovvio;
Schema: il nome del db al quale connettersi, comunque non è necessario specificarlo;

server host ( :confused: :confused: )
Per server host vale lo stesso discorso fatto per l'hostname della stored connection.
--------------------------------
Questa sarebbe la finestra con la versione "evoluta" del semaforino con la sua finestra di dialogo corrispondente con tutti i dati??
Devo ancora capire che è il semaforino di cui parli :sofico:

0rph3n
04-04-2006, 11:45
ciao, ho provato a connettere il db a dream e dice ke nn supporta l' autenticazione .... :muro:
:stordita:
che è dream?

praticamente io nell' installazione ho specificato solo la psw ... qui mi kiede anche il nome utente > io ho inserito root ma nn funzica.

Dove posso modificare / aggiungere il nome utente?
mmm non lo so, ho sempre usato MySQL Administrator per gestire gli utenti.

I dati ke mi kiede dream per la connessione sono:

-nome connessione
-server MySQL: localhost
-nome utente: root
-psw
-database: <nome db>
...che diavolo è dream? :D

'iao

Xalexalex
04-04-2006, 19:28
Dreamweaver??

dan_
04-04-2006, 21:25
si, dreamweaver! :D :D

seguendo le tue operazioni sono riuscito ad entrare in una schermata dove ci sono tutti i dati di amministrazione di mySQL :eek:

Quando tento collegare da dream il database mySQL ricevo questo enigmatico errore :muro::

1251 client does not support authentication protocol requested by server; consider upgrading MySQl client

Che è?? :mc: :mbe:

dan_
06-04-2006, 15:43
allora raga, grazie al grandissimo orphen il problema è stato risolto:

da quello ke ho capito:

-si deve avere php5 con un modulo specifico per mySQL

poi se tutto gira bene
basta aggiungere una connessione da dream, inserire i dati dell' installazione
messi in mySQL e la connessione avviene con successo.

Intanto un caro saluto a tutti.

0rph3n
06-04-2006, 16:31
allora raga, grazie al grandissimo orphen il problema è stato risolto:
Ma lol, ti ho solo dato una mano ed ho imparato a mia volta visto che non avevo mai installato e configurato apache e php!
Comunque per dovere di cronaca, specifico che ci siamo riusciti seguendo questa guida: "Installazione e configurazione di Apache, php, MySQL, phpMyAdmin per sviluppare applicazioni web (http://www.hwupgrade.it/forum/showthread.php?t=939594)" realizzata da Matrixbob (http://www.hwupgrade.it/forum/member.php?find=lastposter&t=939594) e postata nella sezione Corsi, Tutorial e FAQ (http://www.hwupgrade.it/forum/forumdisplay.php?f=56) di questo magnifico forum.
da quello ke ho capito:

-si deve avere php5 con un modulo specifico per mySQL
php5 non è necessario, ma utile per diminuire il numero di imprecazioni (almeno per 2 noob come noi :D ), in quanto da MySQL 4.1 in poi, hanno cambiato l'algoritmo di hashing delle password e i client che usano librerie precedenti alla versione 4.1.1 non sono compatibili.
Da qui l'errore che avevi postato tu:
1251 client does not support authentication protocol requested by server; consider upgrading MySQl client
Comunque quella di usare una versione del client aggiornata (in questo caso PHP5) non è l'unica soluzione, infatti per ovviare al problema ci si può connettere da un client vecchio con un account che utilizza una password hashata con il vecchio algoritmo!
Per completezza posto 2 esempi di codice che permettono di settare una password facendo si che venga hashata con il vecchio algoritmo (codice che ovviamente riguarda MySQL):

metodo 1
mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
metodo 2
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
Ulteriori informazioni riguardo questo problema possono essere trovate in questa (http://dev.mysql.com/doc/refman/5.0/en/old-client.html) pagina del manuale di MySQL.
poi se tutto gira bene
basta aggiungere una connessione da dream, inserire i dati dell' installazione messi in mySQL e la connessione avviene con successo.
si se ci si trova bene con gli automatismi di dream (come ho fatto a non capirlo prima che stava per dreamweaver?! :D), personalmente li aborro e preferisco fare tutto a manina via codice!

'iao