View Full Version : connessione a mysql
Ciao a tutti,
ho un problemino...ovvero:
ho bisogno che ci si possa connettere via rete a mysql.
ho creato un utente che possa connettersi da "anywhere", ma non è possibile connettersi nemmeno da un pc della LAN con la stessa subnet.
Il server non ha firewall e lo stesso server ospita apache che è raggiungibilissimo e funziona. Non è installato iptables.
Mysql usato da localhost funziona da Dio...
idee?
:help: :help: :help:
maxithron
26-07-2005, 19:45
come hai garantito l'accesso per gli user non locali?
GRANT SELECT ON * . * TO 'username'@'%'
La sintassi che usi è la seguente ?
shell> mysql -h host -u user -p
Enter password: ********
Facendo una query sulla tabella user ci sono i tuoi codici di accredito (username e password) ?
maxithron
26-07-2005, 20:33
due cose:
1) nel file my.cnf posta qui cos'hai alla voce relativa al Bind Address
2) Grant Select solo? già provato con grant all privileges?
due cose:
1) nel file my.cnf posta qui cos'hai alla voce relativa al Bind Address
2) Grant Select solo? già provato con grant all privileges?
1: c'è solo 127.0.0.1
non penso sia un problema di utenti o grant perchè da locale collegandomi da shell funziona tutto correttamente...
ho risolto commentando la riga del bind address e riavviando il demone.
Ora però mi sorgono dubbi sulla sicurezza...
come andrebbe impostato in verità?
grazie!
:p :D
maxithron
26-07-2005, 21:34
ho risolto commentando la riga del bind address e riavviando il demone.
Ora però mi sorgono dubbi sulla sicurezza...
come andrebbe impostato in verità?
grazie!
:p :D
apposta te lo avevo chiesto :)
Comunque, generalmente al posto del localhost va messo l'ip reale del pc.
Qui trovi un primo semplice mini-howto per dare un tocco di sicurezza in più:
http://sunsite.mff.cuni.cz/MIRRORS/ftp.mysql.com/doc/en/Security.html
ferroilpinguino
29-07-2005, 01:09
ciao non riesco a connettermi in remoto a mysql con mysql query browser....
non riesco neanche a fare mysql -h host -u user -p...
mi fa :
password.....
la inserisco e poi errore....
per chiarezza host io metto l'indirizzo del computer sul quale c'è mysql server
adesso ho toccato qualcosa nel file my.cnf... potete dargli un'occhiata...
[client]
password = cane
port = 3306
socket = /var/run/mysqld/mysqld.sock
[safe_mysqld]
err-log = /var/log/mysql/mysql.err
[mysqld]
#skip-innodb
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
log-error = /var/log/mysql/mysqld.err
# If set, mysql logs all queries(general query log). This will be deprecated in
# 5.0. This logs all queries, even error queries and is slow.
# log = /var/log/mysql/mysql.log
#
# If you really need logging, use rather binary logging. Especially when doing
# replication. Read
# file:/usr/share/doc/mysql-*/manual.html.gz#Replication
# You can use PURGE MASTER LOGS TO '$hostname-bin.010' to get rid of old logs
# from $hostname-bin.01 up to $hostname-bin.09 while the slave server is
# running.
# Before doing that, check which logfile slave curently uses by running
# mysql> SHOW SLAVE STATUS
# To list logfiles on master do:
# mysql> SHOW MASTER LOGS
Then use PURGE for those not needed anymore only! Never remove the files
# manually!
#
# Also consult RESET MASTER and RESET SLAVE commands before doing any changes
# mysql> RESET MASTER - Deletes all binary logs listed in the index
# file, resetting the binlog index file to be empty.
# mysql> RESET SLAVE - Makes the slave forget its replication position in
# the master logs.
# mysql> SET SQL_LOG_BIN=0 - this turns off logging (execute on MASTER only)
# mysql> SET SQL_LOG_BIN=1 - this turns on logging (execute on MASTER only)
#
# log-bin
# set-variable = binlog-do-db=non_existant
# set-variable = binlog-ignore-db=database_name
#
# server-id has to unique for each master or slave in your network,
# lets use last number from IP address
# server-id = 207
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-locking
set-variable = key_buffer=16M
set-variable = max_allowed_packet=1M
set-variable = thread_stack=128K
# keep secure by default!
bind-address = 127.0.0.1
port = 3306
# this can make it even more secure:
#skip-networking
[mysqldump]
quick
set-variable = max_allowed_packet=1M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
set-variable = key_buffer=16M
SergioL68
29-07-2005, 01:44
Non ti connetti da remoto forse per il solito bind-address, quello diventa l'unico indirizzo dal quale il DB accetta comunicazioni.
Io installerei il MySql Administrator, scaricabile sempre dallo stesso sito del MySql, ti chiarisce le cose visualizzando tabelle, utenti, processi e tutto un pò.
Ricordati poi di creare un host per l'user che vuoi si colleghi da remoto altrimenti di default il MySql acceta solo connessioni da localhost.
ferroilpinguino
04-08-2005, 23:31
+-------------+------------------+------------------+
| host | user | password |
+-------------+------------------+------------------+
| localhost | root | 32f178fc4b7324c1 |
| pinguserver | root | |
| localhost | | |
| pinguserver | | |
| % | andrea | 35995b3568257f3d |
| localhost | andrea | |
| 192.168.0.6 | andrea | 35995b3568257f3d |
| % | andrea@localhost | 35995b3568257f3d |
| % | root | |
+-------------+------------------+------------------+
ciao questa è la mia tabella dei grant come faccio con java ad accedere al database???
supponendo che 32........sia:pippo e che 35.........sia:pluto
per avere il prompt di mysql faccio mysql -u bla -p
passwd:ciao
...non riesco ad accedere al database , i driver li carica correttamente ma dopo niente...
se centra ho apache tomcat e mysql su linux
SergioL68
05-08-2005, 13:47
+-------------+------------------+------------------+
| host | user | password |
+-------------+------------------+------------------+
| localhost | root | 32f178fc4b7324c1 |
| pinguserver | root | |
| localhost | | |
| pinguserver | | |
| % | andrea | 35995b3568257f3d |
| localhost | andrea | |
| 192.168.0.6 | andrea | 35995b3568257f3d |
| % | andrea@localhost | 35995b3568257f3d |
| % | root | |
+-------------+------------------+------------------+
ciao questa è la mia tabella dei grant come faccio con java ad accedere al database???
supponendo che 32........sia:pippo e che 35.........sia:pluto
per avere il prompt di mysql faccio mysql -u bla -p
passwd:ciao
...non riesco ad accedere al database , i driver li carica correttamente ma dopo niente...
se centra ho apache tomcat e mysql su linux
Non sono pratico dell'uso da riga di comando, io solitamente uso il MySql Administrator, un interfaccia grafica completissima di tutte le funzioni possibili e scaricabile dal sito del MySql, prova ad installarlo.
Altrimenti un PhpMyAdmin....
ferroilpinguino
06-08-2005, 19:43
ciao scusa ma mysql admin puoi anche usarla da remoto??
perchè se è così la installo subito ...
grazie...
SergioL68
07-08-2005, 00:12
ciao scusa ma mysql admin puoi anche usarla da remoto??
perchè se è così la installo subito ...
grazie...
Certo che puoi.
Prima te lo setti da locale e poi lo raggiungi anche da remoto operando su tabelle, utenti, backup, di tutto di più :D
ferroilpinguino
07-08-2005, 16:07
ciao mi puoi aiutare:
ti spiego bene cosa devo fare ...
devo connettermi con java al database che ho fatto con mysql.
è da circa 20 giorni che provo...creo utenti vari e con java carico il driver:com.mysql.jdbc.Driver
tutto ok...quando metto la stringa per la connessione...:
jdbc:mysql://host:3306/pingudb?user=nome&password=passwd
mi da sempre errore , non si connette come dovrebbe ....
quindi tutto quello che penso si debba fare è creare la giusta utenza con i giusti permessi...no???
grazie
SergioL68
07-08-2005, 23:11
ciao mi puoi aiutare:
ti spiego bene cosa devo fare ...
devo connettermi con java al database che ho fatto con mysql.
è da circa 20 giorni che provo...creo utenti vari e con java carico il driver:com.mysql.jdbc.Driver
tutto ok...quando metto la stringa per la connessione...:
jdbc:mysql://host:3306/pingudb?user=nome&password=passwd
mi da sempre errore , non si connette come dovrebbe ....
quindi tutto quello che penso si debba fare è creare la giusta utenza con i giusti permessi...no???
grazie
Non conosco java, sorry.
Per quel che riguarda il MySql quello che devi fare è (con il MySql Administrator in locale) creare un HOST per l'lutente con il quale ti vuoi loggare introducendo IP nel formato classico ed usando il segno % che sta per qualunque sostituito a tutt l'IP o parte di esso.
Ricordati anche di impostare la password per tale utente, salva e poi fai la prima prova collegandoti in remoto sempre con il MySql Administrator, se ciò avviene, il problema non è del MySql e quindi passerai ad analizzare il tuo programma java ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.