MySQL creare un database....

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

MySQL creare un database....

Messaggio da salbutamolo »

Ciao a tutti,
grazie all'ottimo slakware for dummies ho provveduto ad avviare al boot mysql; adesso devo creare il mio database, che verrà poi usato da un altro software. Però ho un pochino di confusione in testa; da man mysql leggo questo:
shell> mysql db_name

Or:

shell> mysql --user=user_name --password=your_password db_name

Then type an SQL statement, end it with ';', \g, or \G and press Enter
Non capisco se digitando

Codice: Seleziona tutto

mysql db_name
ottengo un database acessibile a tutti, invece se uso il comado successivo ne ottengo uno con accesso condizionato. Un'altra domanda...se creo un database con password e affini lo user deve essere uno user del sitema oppure posso crearne uno "interno" a MySQL? E infine, tutta la procedura richiede privilegi di root oppure posso bellamente creare un database nella mia home e quindi procedere con privilegi da user? Scusate la banalità delle domande ma in materia di database sono moooooooolto ignorante :-(
Have a nice day

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

No, gli utenti di mysql non hanno niente a che fare con quelli di sistema (volendo puoi farli coincidere).
Ti consiglio la lattura di

Codice: Seleziona tutto

man mysqladmin
Imparare i comandi da shell è una buona cosa, ma dopo, se vuoi avere una maggiore comodità, ti consiglio di scaricarti un manager, tipo phpmyadmin: ti semplificherà la vita...
Ciao,
nino

Avatar utente
MAT
Linux 4.x
Linux 4.x
Messaggi: 1242
Iscritto il: mer 9 mar 2005, 0:00
Nome Cognome: Matteo Magni
Kernel: 2.6.20
Desktop: Fluxbox
Distribuzione: Gentoo
Località: Vignola, Modena

Messaggio da MAT »

Gli utenti di mySQL sono distinti dagli utenti del sistema. Non puoi creare un database nella tua home, infatti non stabilisci tu dove e come vengono salvate su disco le informazioni contenute in un database. Questo lo fa per te il DBMS (DataBase Management System).

Per interagire con i database tradizionali è ormai diffuso l'utilizzo del linguaggio SQL. Anche per la creazione di un database si usa quindi tale linguaggio usando il comando

Codice: Seleziona tutto

CREATE DATABASE nome_db
L'accesso degli utenti ad un database e le operazioni che possono effettuare vengono stabiliti da una politica di permessi, che si assegnano con il comando GRANT. Puoi avere permessi di creazione di tabelle, rimozione, modifica della struttura, lettura di record, rimozione, modifica di record, e anche il permesso di passare questi permessi ad altri utenti (WITH GRANT OPTION).

Ti consiglio una lettura a

Codice: Seleziona tutto

man mysql
e

Codice: Seleziona tutto

man mysqladmin
come ti ha consigliato anche ninobi e poi cerca qualche buon manuale di SQL. Una piccola nota: il linguaggio SQL non è propriamente "standard", ovvero ogni DBMS utilizza una sua variante di SQL che può differire leggermente dagli altri. Le differenze sono comunque minime.

Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

Messaggio da salbutamolo »

Ciao a tutti,
grazie delle risposte, sempre molto illuminati. Tuttavia ho un problema che credevo di avere risolto in fatti mysql si schianta al boot restituendomi questo errore:
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysql/mysql.pid
060325 13:14:50 mysqld ended
Ora vi descrivo cosa ho fatto per attivare il servizio al boot:

1) Ho rinominato uno dei files my.*.conf in my.conf e l'ho schiaffato nella directory /etc.

2) Una volta acqusiti privilegi di root ho laciato il comando

Codice: Seleziona tutto

mysql_install_db
L'operazione è andata a buon fine, credo, e il sistema mi ha consigliato di effettuare le seguenti operazioni
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h nautilus password 'new-password'
See the manual for more instructions
Cosa che non ho ancora fatto perchè volevo vedere se mysql si avviava al boot.

3) La directory /var/lib/mysql ha permessi di lettura e scrittura per l'utente mysql e di lettura per il gruppo mysql. Nessuno degli utenti di sistema fa parte del gruppo mysql, root escluso naturalmente!

4) Infine tramite il buon pkgtool ho selezionato l'attivazione di mysql al boot, ma come detto in precedenza l'operazione fallisce. E' ovvio che sbaglio qualcosa, ma non riesco a capire cosa? :-(
Have a nice day

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Come introduzione è in corso di pubblicazione una serie di articoli su mysql su linux pro, solo che sono già alla 5° lezione (mi pare).
Ho comprato poi tempo fa un paio di libri editi da apogeo "sql" e "mysql", che costano poco (li ho pagati 7,20 euro l'uno) e che, per un uso non professionale come è quello che ne faccio io, sono abbastanza chiari e funzionali.
C'è anche una parte dedicata alla gestione degli utenti e all'installazione su linux.
Anche in rete trovi una buona documentazione.

Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

Messaggio da salbutamolo »

Ciao a tutti,
ho fatto una scoperta curiosa, se tento digito mysql al prompt la console mi restituisce questo errore:

Codice: Seleziona tutto

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)
Effettivamente in /var/run/mysql non c'è nessun file mysql.sock. Credo che tutto il problema sia imperniato su questo. Voi che ne pensate? Have a nice day

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Come hai configurato my.cnf ?

Avatar utente
MAT
Linux 4.x
Linux 4.x
Messaggi: 1242
Iscritto il: mer 9 mar 2005, 0:00
Nome Cognome: Matteo Magni
Kernel: 2.6.20
Desktop: Fluxbox
Distribuzione: Gentoo
Località: Vignola, Modena

Messaggio da MAT »

salbutamolo ha scritto:Ciao a tutti,
ho fatto una scoperta curiosa
Mica tanto curiosa, l'hai detto tu che il server mySQL non si avvia. Pertanto è chiaro che il comando mysql non riesce a collegarcisi!

Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

Messaggio da salbutamolo »

Ciao a tutti,
Mica tanto curiosa, l'hai detto tu che il server mySQL non si avvia. Pertanto è chiaro che il comando mysql non riesce a collegarcisi
Trovo curioso che non venga creato quel file; ora se la presenza del file è strettamente legata alla riuscita del collegamento a mysql chiedo scusa....l'avevo detto che sono ignotante in materia mysql :-)
Come hai configurato my.cnf ?
Come descritto nell'ottimo slackware for dummies mi sono limitato a rinominare il file my-medium.cnf in my.cnf. Have a nice day

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Parlo da ignorante e oltreutto mysql l'ho installato seguendo altre istruzioni e senza usare il pacchetto slack, però te la butto lì:
in my-medium.cnf, che hai copiato in /etc/my.cnf, il socket è /tmp/mysql.sock, non /var/run/mysql/mysql.sock
Mysql a me funziona, /var/run/mysql non l'ho neanche messa, /tmp/mysql.sock c'è, creato nel momento in cui ho lanciato safe_mysqld...

Ciao

Gabriele

Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

Messaggio da salbutamolo »

Ciao a tutti,
ho risolto il problema....per la verità mi vergogno come un cane a dire sta cosa però la dico lo stesso :-)
Andava tutto bene tranne che avevo sbagliato a chmoddare /var/lib/mysql e quindi il demone si schiantava all'avvio. Sono un po' stanco in questo periodo....non lapidatemi troppo :-(
Have a nice day

Rispondi