Installare MySQL su openSUSE

4 risposte [Ultimo messaggio]
Ritratto di PUFFIN
PUFFIN
(Newbie)
Offline
Newbie
Iscritto: 24/03/2008
Messaggi: 2

Ciao a tutti,

E' il primo intervento che faccio sul sito e chiedo scusa per eventuali errori nel riportare il problema.

Sto imparando ad utilizzare SQL all'Università. Ho installato MySQL su openSUSE 10.3 seguendo le istruzioni riportate sul sito:
http://en.opensuse.org/Mysql
Ho installato MySQL server e il Basic shell client (mysql-client ) da repository ma ho riscontrato due problemi:

1) non riesco ad impostare una password come è previsto nelle istruzioni riportate sulla pagina web;
2) non sò dove MySQL salva le tabelle che vengono create;

Quando avvio MySQL da terminale mi appare questa schermata:

linux-qfcu:/home/marco # mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.45 SUSE MySQL RPM

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Grazie a tutti per l'aiuto,

Ciao

Ritratto di ferdybassi
ferdybassi
(Guru)
Offline
Guru
Iscritto: 11/09/2005
Messaggi: 2668

Quote:

PUFFIN ha scritto:
1) non riesco ad impostare una password come è previsto nelle istruzioni riportate sulla pagina web;

Le istruzioni dicono:
<br />This is not operating system root user, but MySQL root (the same name can be confusing) and you can use a normal user account to create it:<br /><br />mysqladmin -u root password &lt;yourpassword&gt;<br />
Dove incontri il problema? Che errore ti risulta quando dai il comando?

Quote:

2) non sò dove MySQL salva le tabelle che vengono create;

MySQL NON salva le "tabelle". Salva interi database nella directory:
/var/lib/mysql (o /usr/local/mysql/var/ , non ricordo...)

Se hai dei problemi a usare MySQL da linea di comando, prova:
MySQL Administrator

Ciao ciao

Amministratore di
www.it-opensuse.org

Ritratto di PUFFIN
PUFFIN
(Newbie)
Offline
Newbie
Iscritto: 24/03/2008
Messaggi: 2

Ciao,

Grazie per le informazioni che mi hai fornito.

1) Sono riuscito ad impostare la password di root correttamente digitando il comando:

mysqladmin -u root password yourpassword

(dove al posto di yourpassword ho digitato la password che ho scelto).

Adesso per accedere a MySQL digito il seguente comando:

marco@linux-qfcu:~> mysql -h localhost -p -u root
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.45 SUSE MySQL RPM

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

2) Confermo che la directory su cui vengono salvati i database creati con MySQL è:
/var/lib/mysql

Per potere lavorare su database esterni (cioè creati da altri) dovrei poterli copiare nella directory specificata sopra (almeno questo è la procedura che ho seguito utilizzando MySQL su Windows), ma non mi viene consentito.

Grazie e ciao

Ritratto di pinquadr
pinquadr
(Guru)
Offline
Guru
Iscritto: 20/11/2004
Messaggi: 921

Quote:

Per potere lavorare su database esterni (cioè creati da altri) dovrei poterli copiare nella directory specificata sopra (almeno questo è la procedura che ho seguito utilizzando MySQL su Windows), ma non mi viene consentito.

Si tratta semplicemente di una questione di permessi.
Personalmente uso il mio utente per eseguire Mysql, per farlo bisogna modificare il file /etc/my.cnf dopo essere divenuti root con il comando 'su'. In questo modo il mio utente, dopo che è stato registrato adeguatamente in Mysql, potrà eseguire le operazioni con i privilegi che gli sono stati assegnati.
Comunque, se hai a disposizione un database, basta essere root e copiarlo in /var/lib/mysql.

OpenSuse Leap42 con KDE5 su Intel I7 4930K scheda madre Asus Sabertooth X79 - RAM 32 Gb - scheda video NVIDIA GTX660 1GB - scheda TV Hauppauge WinTV Nova T stick

Ritratto di Lezard
Lezard
(Junior)
Offline
Junior
Iscritto: 11/03/2007
Messaggi: 20

Mah... Non sono i procedimenti corretti.
Una volta installato mysql puoi accedere al database mysql(quello che vedevi da prompt: mysql>). Quello è il database di amministrazione.
La prima volta puoi entrarci come utente root, ma subito dopo è meglio creare un superuser e gli altri utenti. Per farlo ti suggerisco un modo molto diretto e che deve essere fatto con attenzione.
Una volta dentro al database di amministrazione (si chiama mysql) se digiti SHOW TABLES ti vengono mostrate le tabelle di amministrazione. Fra queste quelle nominate user e db ti permettono di amministrare gli utenti e i database.
In user puoi mettere tutti gli utenti che vuoi e dare loro i permessi che reputi più opportuni. Anche i permessi per il superuser che, consiglio, non deve essere l'utente root di sistema. Nei db metti il nome dei database che hai creato con mysqladmin -u user create nomedb -p da riga di comando ( con -p ti chiede la password e bisogna che user abbia i privilegi per creare db) e gli utenti che possono accedervi e i privilegi per poter fare cosa sul db.
È buona prassi non copiare direttamente i db nella cartella di mysql ma di seguire la procedura di cui sopra e poi con mysql -u user nomedib -p < DumpTuo.sql, oppure entri nel database interessato (mysql -u user nomedb -p) e una volta dentro digiti SOURCE DumpTuo.sql.
Naturalmente gli utenti devono avere i permessi corretti per poter creare db e operare.
Comunque è tutto scritto nel manuale.
Buon lavoro

nexus aliter iuvare