Repository 32bit  Forum
Repository 64bit  Wiki

Mysql - Mini How-to: differenze tra le versioni

Da Slacky.eu.
m (Preparazione Database)
m (Introduzione: edit)
 
(2 revisioni intermedie di un utente non mostrate)
Riga 1: Riga 1:
[[Category:Ufficio_e_Web]]
[[Category:Ufficio_e_Web]]
= Introduzione =
= Introduzione =
A tutti capita che dopo aver installato slackware, il demone mysql fa capricci
+
A tutti capita che dopo aver installato slackware, il demone mysql faccia capricci sia se si cerca di farlo partire automaticamente all'avvio (tramite gli script contenuti nella cartella /etc/rc.d/), sia se si cerca di farlo partire manualmente (eseguendo da root mysqld_safe con le apposite opzioni).
sia se si cerca di farlo partire automaticamente all'avvio (tramite gli script
+
I motivi di questo disagio sono un paio e ho scritto questo howto perche` ho notato che molti tra coloro che iniziano ad usare slackware non sanno come fare (e credo sia una cosa del tutto normale).
contenuti nella cartella /etc/rc.d/), sia se si cerca di farlo partire manual-
+
mente (eseguendo da root mysqld_safe con le apposite opzioni).
 
I motivi di questo disagio sono un paio e ho scritto questo howto perche` ho
 
notato che molti tra coloro che iniziano ad usare slackware non sanno come
 
fare (e credo sia una cosa del tutto normale).
 
= Preparazione Database =
= Preparazione Database =
Le operazioni che verranno eseguite d'ora in avanti richiedono i privilegi di
Le operazioni che verranno eseguite d'ora in avanti richiedono i privilegi di
Riga 17: Riga 17:
per la gestione degli utenti che avranno accesso al server. Ne riparliamo piu`
per la gestione degli utenti che avranno accesso al server. Ne riparliamo piu`
tardi, comunque. Ora verificate che esistano lo user e il group mysql (potete
tardi, comunque. Ora verificate che esistano lo user e il group mysql (potete
verificare dai files /etc/passwd e /etc/group). E` importante notare che
+
verificare dai files /etc/passwd e /etc/group). Se non esistono li doveste creare voi tramite:
l'utente mysql non ha bisogno di una password, perche` fisicamente non dovra`
 
mai loggarsi, quindi se doveste creare voi il gruppo e l'utente mysql tramite:
 
<pre>
<pre>
# /usr/sbin/groupadd mysql
# /usr/sbin/groupadd mysql
Riga 23: Riga 23:
</pre>
</pre>
NON SARA` NECESSARIO NE` PERTINENTE eseguire:
NON SARA` NECESSARIO NE` PERTINENTE eseguire:
 
# /usr/bin/passwd mysql
# /usr/bin/passwd mysql
  +
perché l'utente mysql non ha bisogno di una password. Fisicamente non dovrà mai loggarsi, ma serve solo per eseguire mysqld.
L'utente mysql serve solo per eseguire mysqld.
+
Impostate ora i proprietari corretti per alcuni files:
Una volta verificato cio` dovremo cambiare i proprietari di alcuni files:
 
# /bin/chown -R mysql:mysql /var/lib/mysql/
# /bin/chown -R mysql:mysql /var/lib/mysql/

Versione attuale delle 23:17, 14 giu 2013

Indice

[modifica] Introduzione

A tutti capita che dopo aver installato slackware, il demone mysql faccia capricci sia se si cerca di farlo partire automaticamente all'avvio (tramite gli script contenuti nella cartella /etc/rc.d/), sia se si cerca di farlo partire manualmente (eseguendo da root mysqld_safe con le apposite opzioni). I motivi di questo disagio sono un paio e ho scritto questo howto perche` ho notato che molti tra coloro che iniziano ad usare slackware non sanno come fare (e credo sia una cosa del tutto normale).

[modifica] Preparazione Database

Le operazioni che verranno eseguite d'ora in avanti richiedono i privilegi di root, quindi eseguite:

$ su 

Inserite la password e via ;)

Cercare di far partire il demone mysql (d'ora in poi mysqld) senza avere i databases installati non mi sembra affatto una buona idea, quindi per iniziare eseguiamo:

# mysql_install_db

Questa operazione e` necessaria poiche` mysqld utilizza il database 'mysql' per la gestione degli utenti che avranno accesso al server. Ne riparliamo piu` tardi, comunque. Ora verificate che esistano lo user e il group mysql (potete verificare dai files /etc/passwd e /etc/group). Se non esistono li doveste creare voi tramite:

# /usr/sbin/groupadd mysql
# /usr/sbin/useradd -g mysql mysql

NON SARA` NECESSARIO NE` PERTINENTE eseguire:

# /usr/bin/passwd mysql 

perché l'utente mysql non ha bisogno di una password. Fisicamente non dovrà mai loggarsi, ma serve solo per eseguire mysqld.

Impostate ora i proprietari corretti per alcuni files:

# /bin/chown -R mysql:mysql /var/lib/mysql/

Non indispensabile:

# /bin/chown -R mysql:mysql /var/run/mysql/

L'errore che mysqld ritorna e` appunto inizialmente un problema di databases non presenti nella cartella /var/lib/mysql (infatti mysql_install_db installa i databases proprio in /var/lib/mysql) e successivamente un problema di accesso negato ai files contenuti in /var/lib/mysql e in /var/run/mysql (in cui e` contenuto il pid-file).

[modifica] Il demone

A questo punto per far partire il demone mysql:

# /bin/chmod +x /etc/rc.d/rc.mysqld
# /etc/rc.d/rc.mysqld start

Una volta che il server e` partito tranquillamente e` possibile impostare una password per l'utente root di mysqld:

# mysqladmin -u root password VOSTRAPWD

E per avviare il client mysql come root:

# mysql -u root -p

Vi verra` chiesta VOSTRAPWD per effettuare l'accesso.

Una volta dentro dovrebbe apparirvi qualcosa del genere:

$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6 to server version: VERSIONE

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

mysql> 

[modifica] Alcuni Esempi

Eseguendo delle query basilari potrete muovervi attraverso i databases, ad esempio:

mysql> SHOW DATABASES;   /* Mostra i databases presenti */
+--------------------+
| Database           |
+--------------------+
| black_db           |
| main               |
| mysql              |
+--------------------+
3 rows in set (0.00 sec)

Nel database mysql sono raccolte le informazioni piu` importanti sul vostro server mysql. State attenti a cio` che fate ;) Altre query basilari per 'muovervi' potrebbero essere:

mysql> USE black_db; /* Ordina al client di cambiare il database in uso.
		      *	Sono necessari alcuni privilegi per usare un 
		      *	database. In questo caso stiamo ordinando di usare
		      * black_db */

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> SHOW TABLES;  /* Mostra tutte le tabelle in un database */
+--------------------+
| Tables_in_black_db |
+--------------------+
| bookmarks          |
| sections           |
+--------------------+
2 rows in set (0.00 sec)

mysql> DESCRIBE bookmarks; /* Mostra la struttura di una tabella.
			    * In questo caso verra` visualizzata la
			    * struttura della tabella bookmarks. */
+-------+-----------------+------+-----+---------+----------------+
| Field | Type            | Null | Key | Default | Extra          |
+-------+-----------------+------+-----+---------+----------------+
| id    | int(5) unsigned | NO   | PRI | NULL    | auto_increment |
| url   | text            | NO   |     |         |                |
| nome  | text            | NO   |     |         |                |
| sect  | varchar(20)     | NO   |     |         |                |
+-------+-----------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)

Se eseguirete:

mysql> USE altro_database;

il database in uso ovviamente verra` cambiato in `altro_database`. Per creare nuovi utenti vi consiglio di eseguire le query GRANT. Per maggiori informazioni consultate la documentazione su www.mysql.org

Autore: black - black@autistici.org

Strumenti personali
Namespace

Varianti