User Tools

Site Tools


linuxdebian:mysql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
linuxdebian:mysql [2025/09/20 12:51] – created - external edit 127.0.0.1linuxdebian:mysql [2025/09/24 10:36] (current) – [Creazione di un account utente non admin e di un database con il medesimo nome] kurgan
Line 5: Line 5:
 ===== Ottimizzazione ===== ===== Ottimizzazione =====
  
-Questo script può aiutare: https://github.com/major[[/MySQLTuner]]-perl+Questo script può aiutare: https://github.com/major/MySQLTuner-perl
  
 ===== Backup ===== ===== Backup =====
Line 19: Line 19:
 Per creare un utente "amministratore" accessibile con il classico metodo di username e password, usabile per esempio da phpmyadmin, possiamo usare questi comandi: Per creare un utente "amministratore" accessibile con il classico metodo di username e password, usabile per esempio da phpmyadmin, possiamo usare questi comandi:
  
-  * Dal prompt di root, entriamo in mysql +  * Dal prompt di root, entriamo in mysql<code>
-<code>+
 mysql mysql
 </code> </code>
-  * Dentro mysql creiamo un utente che possa connettersi da localhost usando una password e abbia tutti i privilegi: +  * Dentro mysql creiamo un utente che possa connettersi da localhost usando una password e abbia tutti i privilegi:<code>
-<code>+
 CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password-di-admin'; CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password-di-admin';
 GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
Line 30: Line 28:
 \q \q
 </code> </code>
- +  * Ora vediamo se funziona: (inserire la password quando richiesta)<code>
-  * Ora vediamo se funziona: (inserire la password quando richiesta) +
-<code>+
  mysql -u admin -p  mysql -u admin -p
 </code> </code>
Line 42: Line 38:
 Per creare un account utente e un database ad esso associato (come fa per default phpmyadmin): Per creare un account utente e un database ad esso associato (come fa per default phpmyadmin):
  
-  * Dal prompt di root, entriamo in mysql +  * Dal prompt di root, entriamo in mysql<code>
-<code>+
 mysql mysql mysql mysql
 </code> </code>
- +  * Dentro mysql creiamo un database (occhio al nome, niente spazi o "-", solo underscore), creiamo un utente e contestualmente gli diamo i permessi sul db (occhio al fatto che nome_database **è seguito da punto asterisco** nella grant)<code>
-  * Dentro mysql creiamo un database (occhio al nome, niente spazi o "-", solo underscore), creiamo un utente e contestualmente gli diamo i permessi sul db (occhio al fatto che nome_database **è seguito da punto asterisco** nella grant) +
-<code>+
 CREATE DATABASE nome_database; CREATE DATABASE nome_database;
 CREATE USER 'nome-utente'@'localhost' IDENTIFIED BY 'password-dell-utente'; CREATE USER 'nome-utente'@'localhost' IDENTIFIED BY 'password-dell-utente';
Line 55: Line 48:
 \q \q
 </code> </code>
- +  * Ora vediamo se funziona: (inserire la password quando richiesta)<code>
-  * Ora vediamo se funziona: (inserire la password quando richiesta) +
-<code>+
  mysql -u nome-utente -p  nome_database  mysql -u nome-utente -p  nome_database
 </code> </code>
 +
 ---- ----
  
 ===== Mysqldump e restore ===== ===== Mysqldump e restore =====
  
-  * Per fare un backup: +  * Per fare un backup:<code>
-<code>+
 mysqldump databasename  > filedidump.sql mysqldump databasename  > filedidump.sql
 </code> </code>
  
-  * Per fare un restore: (occorre avere già creato il database) +  * Per fare un restore: (occorre avere già creato il database)<code>
-<code>+
 mysql -u USERNAME -p DATABASENAME < filedidump.sql mysql -u USERNAME -p DATABASENAME < filedidump.sql
 </code> </code>
Line 81: Line 71:
  
 Se mysqldump esce con un errore come questo ''mysqldump: Error 2013: Lost connection to server during query when dumping table `batch` at row: 4''  mentre fa il dump, si puo` tentare cosi`: Se mysqldump esce con un errore come questo ''mysqldump: Error 2013: Lost connection to server during query when dumping table `batch` at row: 4''  mentre fa il dump, si puo` tentare cosi`:
- 
 <code> <code>
 mysqldump --max-allowed-packet=1024M databasename  > filedidump.sql mysqldump --max-allowed-packet=1024M databasename  > filedidump.sql
Line 139: Line 128:
   * togliere il commento dalle righe che riguardano il server-id e log_bin (sono una di fianco all'altra). Il server-id puo` essere qualsiasi numero che non sia duplicato negli slave e non sia zero.    * togliere il commento dalle righe che riguardano il server-id e log_bin (sono una di fianco all'altra). Il server-id puo` essere qualsiasi numero che non sia duplicato negli slave e non sia zero. 
   * consentire la connessione a mysql via lan, quindi in Debian commentare la riga che dice ''bind-address = 127.0.0.1''.   * consentire la connessione a mysql via lan, quindi in Debian commentare la riga che dice ''bind-address = 127.0.0.1''.
-  * impostare il campo {{{binlog_ignore_db}}} o il campo ''binlog_do_db'' in modo da replicare solo i database che ci servono (e da non replicare quelli che farebbero danni se fosser replicati). Una impostazione decente per replicare tutto potrebbe essere:+  * impostare il campo ''binlog_ignore_db'' o il campo ''binlog_do_db'' in modo da replicare solo i database che ci servono (e da non replicare quelli che farebbero danni se fosser replicati). Una impostazione decente per replicare tutto potrebbe essere:
 <code> <code>
 binlog_ignore_db        = information_schema,mysql,phpmyadmin binlog_ignore_db        = information_schema,mysql,phpmyadmin
Line 151: Line 140:
   * Facoltativamente (ma e` consigliato per il recovery da crash o corruzioni) scommentare la riga del log_bin (come sul master).   * Facoltativamente (ma e` consigliato per il recovery da crash o corruzioni) scommentare la riga del log_bin (come sul master).
   * consentire la connessione a mysql via lan, quindi in Debian commentare la riga che dice ''bind-address = 127.0.0.1''.   * consentire la connessione a mysql via lan, quindi in Debian commentare la riga che dice ''bind-address = 127.0.0.1''.
-  * IMPORTANTE: cambiare percorso alla {{{tmpdir}}}, impostandola a un path dove un riavvio della macchina NON cancelli i dati, quindi non su /tmp. Potrebbe per esempio essere messa a ''/var/spool/mysql'' (che va creata a chownata a mysql.)+  * IMPORTANTE: cambiare percorso alla ''tmpdir'', impostandola a un path dove un riavvio della macchina NON cancelli i dati, quindi non su /tmp. Potrebbe per esempio essere messa a ''/var/spool/mysql'' (che va creata a chownata a mysql.)
  
  
linuxdebian/mysql.1758372660.txt.gz · Last modified: by 127.0.0.1