MySQLi - Amministrazione
Esecuzione e chiusura di MySQLi Server
MySQLi è esteso a MySQL, quindi controlla prima se il tuo server MySQL è in esecuzione o meno. Puoi usare il seguente comando per verificarlo:
ps -ef | grep mysqld
Se il tuo MySql è in esecuzione, vedrai mysqldprocesso elencato nel risultato. Se il server non è in esecuzione, puoi avviarlo utilizzando il seguente comando -
[email protected]# cd /usr/bin
./safe_mysqld &
Ora, se vuoi chiudere un server MySQL già in esecuzione, puoi farlo usando il seguente comando:
[email protected]# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******
Configurazione di un account utente MySQLi
Per aggiungere un nuovo utente a MySQLi, che è una versione migliorata di MySQL, devi solo aggiungere una nuova voce a user tabella nel database mysql.
Di seguito è riportato un esempio di aggiunta di un nuovo utente guest con i privilegi SELECT, INSERT e UPDATE con la password guest123; la query SQL è -
[email protected]# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed
mysql> INSERT INTO user (
host, user, password, select_priv, insert_priv, update_priv)
VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)
mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
| host | user | password |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)
Quando si aggiunge un nuovo utente, ricordarsi di crittografare la nuova password utilizzando la funzione PASSWORD () fornita da MySQL. Come puoi vedere nell'esempio sopra, la password mypass è crittografata in 6f8c114b58f2ce9e.
Notare la dichiarazione FLUSH PRIVILEGES. Questo dice al server di ricaricare le tabelle di concessione. Se non lo usi, non sarai in grado di connetterti a mysql utilizzando il nuovo account utente almeno fino al riavvio del server.
È inoltre possibile specificare altri privilegi per un nuovo utente impostando i valori delle seguenti colonne nella tabella utente su "Y" durante l'esecuzione della query INSERT oppure è possibile aggiornarli in seguito utilizzando la query UPDATE.
- Select_priv
- Insert_priv
- Update_priv
- Delete_priv
- Create_priv
- Drop_priv
- Reload_priv
- Shutdown_priv
- Process_priv
- File_priv
- Grant_priv
- References_priv
- Index_priv
- Alter_priv
Un altro modo per aggiungere un account utente è utilizzare il comando GRANT SQL; il seguente esempio aggiungerà userzara con password zara123 per un particolare database chiamato TUTORIALS.
[email protected]# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON TUTORIALS.*
-> TO 'zara'@'localhost'
-> IDENTIFIED BY 'zara123';
Questo creerà anche una voce nella tabella del database mysql chiamata user.
NOTE - MySQL non termina un comando fino a quando non si inserisce un punto e virgola (;) alla fine del comando SQL.
La configurazione del file /etc/my.cnf
Nella maggior parte dei casi, non dovresti toccare questo file. Per impostazione predefinita, avrà le seguenti voci:
[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
[mysql.server]
user = mysql
basedir = /var/lib
[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid
Qui puoi specificare una directory diversa per il registro degli errori, altrimenti non dovresti cambiare nessuna voce in questa tabella.
Comando amministrativo MySQLi
Ecco l'elenco dei comandi MySQLi importanti, che utilizzerai di volta in volta per lavorare con il database MySQL:
USE Databasename - Questo verrà utilizzato per selezionare un particolare database nell'area di lavoro MySQLi.
SHOW DATABASES - Elenca i database accessibili dal DBMS MySQLi.
SHOW TABLES - Mostra le tabelle nel database una volta che un database è stato selezionato con il comando use.
SHOW COLUMNS FROM tablename - Mostra gli attributi, i tipi di attributi, le informazioni sulla chiave, se NULL è consentito, i valori predefiniti e altre informazioni per una tabella.
SHOW INDEX FROM tablename - Presenta i dettagli di tutti gli indici sulla tabella, inclusa la CHIAVE PRIMARIA.
SHOW TABLE STATUS LIKE tablename\G - Riporta i dettagli delle prestazioni e delle statistiche del DBMS MySQLi.