GNU/Linux >> Linux Esercitazione >  >> Cent OS

Domande frequenti sulla distribuzione di MySQL

Cos'è MySQL?

MySQL è un sistema di database relazionale open source veloce, affidabile, scalabile e facile da usare, supportato da Oracle. MySQL Server è progettato per gestire applicazioni di produzione mission-critical e con carichi pesanti. Se sviluppate siti Web o applicazioni Web, MySQL è una buona scelta. MySQL è un componente essenziale dello stack LAMP, che include Linux, Apache, MySQL e PHP.

Perché usare Bitnami MySQL Stack?

Lo stack Bitnami MySQL è sempre aggiornato e sicuro. L'installazione e la configurazione dello stack è completamente automatizzata, rendendo facile per tutti, anche per coloro che non sono molto tecnici, metterlo in funzione.

Tutorial e documentazione Bitnami MySQL

  • Pagina Bitnami MySQL
  • Guida utente Bitnami MySQL
  • Registro delle modifiche Bitnami MySQL
  • Per creare un database e un utente MySQL
  • Per modificare la password dell'amministratore MySQL
  • Per proteggere MySQL
  • Per eseguire il dump e il ripristino di backup MySQL
  • Per configurare MySQL Workbench
  • Per controllare il file di registro MySQL

Dove trovare le credenziali di root MySQL?

Le credenziali dell'istanza/nodo/root della macchina verranno inviate al tuo indirizzo e-mail registrato non appena viene avviata l'istanza MySQL.

Le credenziali MySQL sono archiviate in un file autonomo. Per ottenere le credenziali in qualsiasi momento, attenersi alla seguente procedura:

  • Connettiti all'istanza/nodo/macchina tramite SSH utilizzando root credenziali utente.
  • Esegui il comando seguente per ottenere le credenziali dell'applicazione:
      cat /home/bitnami/bitnami_credentials

Nota:per MySQL l'utente è root, dall'alto copia solo la password

Come aprire la porta MySQL 3306 utilizzando UFW Firewall

Per impostazione predefinita, la porta Bitnami MySQL è configurata per essere accessibile solo in localhost. Per aprire la porta MySQL su Internet aperto o solo su indirizzi IP specifici, segui i passaggi seguenti.

1.Connettiti all'istanza/nodo/macchina tramite SSH utilizzando root credenziali utente.

Rischio per la sicurezza :Rendere questa porta di rete del database su Internet pubblica è un rischio per la sicurezza significativo. Si consiglia vivamente di aprire la porta MySQL solo su indirizzi IP affidabili.

2 (a) Eseguire il comando seguente per aprire una porta su Internet:

      ufw allow mysql/tcp

2 (b) Eseguire il comando seguente per aprire una porta su un indirizzo IP specifico

      ufw allow from IPADDRESS to any port 3306 proto tcp

Come si collega il database MySQL?

Dopo aver avviato il tuo Istanza MySQL.Tu può connettersi al database dalla stessa istanza utilizzando mysql strumento client..

  • Connettiti all'istanza/nodo/macchina tramite SSH utilizzando root credenziali utente.
           ssh root@<public IP>
  • Esegui il seguente comando per accedere al database mysql
         # mysql -u root -p

Ti verrà chiesto di inserire la root password utente…

Come consentire l'accesso MYSQL dell'indirizzo IP remoto?

Per impostazione predefinita, MySQL non consente ai client remoti di connettersi al database MySQL. Se stai cercando di accedere in remoto al database MySQL del tuo server, è evidente che riceverai una risposta simile a questa:

“ERROR 1130: Host is not allowed to connect to this MySQL server”
Example:
$ mysql -h XXX.168.X.8 -u root -p
Enter password:
ERROR 1130: Host 'xxx.xx.x.x' is not allowed to connect to this MySQL server

Soluzione :

Per superare questo errore, puoi consentire a un client specifico ip -address (Ip statico) per accedere al database MySQL in esecuzione su un server. Dovresti eseguire il seguente comando sul server che esegue il database MySQL:

 $ /opt/bitnami/mysql/bin/mysql -u root -p
Enter password:
mysql> use mysql
mysql> GRANT ALL ON *.* to root@'XXX.XXX.X.X' IDENTIFIED BY 'your-root-password';
mysql> FLUSH PRIVILEGES;

Sostituisci "XXX.XXX.X.X" nell'esempio sopra con il tuo IP statico e la tua password di root al posto di "your-root-password".

Nota:funzionerà solo se esegui Internet su un servizio basato su IP statico.

Un indirizzo IP statico è un numero assegnato a un computer da un provider di servizi Internet (ISP) come indirizzo permanente su Internet.

L'esecuzione dei comandi precedenti garantirà l'accesso a un IP statico specifico, utilizzando il quale è possibile accedere a MySQL da remoto.

Inoltre, aggiorna le regole del firewall per assicurarti che la porta n. 3306 nell'UFW sia aperta sul server che esegue mysql banca dati.

Come ottimizzare le prestazioni di MySQL utilizzando MySQLTuner

Strumenti che possono aiutare a ottimizzare MySQL:

Per determinare se il tuo database MySQL deve essere riconfigurato, è meglio guardare come stanno andando le tue risorse adesso. Questo può essere fatto con il comando in alto o con il servizio di monitoraggio di E2E. Per lo meno, dovresti familiarizzare con l'utilizzo della RAM e della CPU del tuo server, che può essere scoperto con questi comandi:

#echo [PID]  [MEM]  [PATH] &&  ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 20
#ps -eo pcpu,pid,user,args | sort -k 1 -r | head -20

MySQLTuner:

Lo script MySQLTuner valuta la tua installazione e quindi restituisce suggerimenti per aumentare le prestazioni e la stabilità del tuo server.

  • Per installare mysqltuner , scarica mysqltuner .pl script. Ad esempio, puoi scaricarlo con wget :
#wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
  • Per monitorare un server MySQL installato da uno stack Bitnami, passa i valori di connessione tramite la riga di comando, come mostrato di seguito. Nota che avrai bisogno di Perl installato sul sistema.
#perl mysqltuner.pl --socket /opt/bitnami/mysql/tmp/mysql.sock
  • Lo script restituirà risultati simili all'output seguente:

MySQLTuner offre suggerimenti su come migliorare le prestazioni del database. Se sei cauto nell'aggiornare il tuo database da solo, seguire i suggerimenti di MySQLTuner è uno dei modi più sicuri per migliorare le prestazioni del tuo database.

Ottimizzazione di MySQL:

Quando modifichi la configurazione di MySQL, fai attenzione alle modifiche e al modo in cui influiscono sul tuo database. Anche quando si seguono le istruzioni di programmi come MySQLTuner, è meglio avere una certa comprensione del processo.

Il file di configurazione di Bitnami MySQL archiviato nel seguente percorso:/opt/bitnami/mysql/my.cnf.

Nota:prima di aggiornare la configurazione di MySQL, crea un backup di il mio File .cnf:

    # cp /opt/bitnami/mysql/my.cnf ~/my.cnf.backup

La procedura consigliata suggerisce di apportare modifiche, una alla volta, e quindi di monitorare il server dopo ogni modifica. Dovresti riavviare MySQL dopo ogni modifica:

Riavvia il server:

     # /opt/bitnami/ctlscript.sh restart mysql

Quando modifichi i valori nel file my.cnf, assicurati che la riga che stai modificando non sia stata commentata con il prefisso cancelletto (#).

key_buffer

La modifica di key_buffer alloca più memoria a MySQL, il che può accelerare notevolmente i tuoi database, supponendo che tu abbia memoria libera. La dimensione key_buffer in genere non dovrebbe occupare più del 25% della memoria di sistema quando si utilizza il motore di tabella MyISAM e fino al 70% per InnoDB. Se il valore è impostato su un valore troppo alto, le risorse vengono sprecate.

Secondo la documentazione di MySQL, per i server con 256 MB (o più) di RAM con molte tabelle, si consiglia un'impostazione di 64 M. I server con 128 MB di RAM e un numero inferiore di tabelle possono essere impostati su 16 M, il valore predefinito. I siti Web con ancora meno risorse e tabelle possono avere questo valore impostato su un valore inferiore.

pacchetto_permesso_max

Questo parametro consente di impostare la dimensione massima di un pacchetto inviabile. Un pacchetto è un singolo stato SQL, una singola riga inviata a un client o un registro inviato da un master a uno slave. Se sai che il tuo server MySQL elaborerà pacchetti di grandi dimensioni, è meglio aumentarlo alla dimensione del tuo pacchetto più grande. Se questo valore è impostato su un valore troppo basso, riceverai un errore nel registro degli errori.

thread_stack

Questo valore contiene la dimensione dello stack per ogni thread. MySQL considera il valore predefinito della variabile thread_stack sufficiente per il normale utilizzo; tuttavia, se viene registrato un errore relativo al thread_stack, questo può essere aumentato.

thread_cache_size

Se thread_cache_size è "disattivato" (impostato su 0), qualsiasi nuova connessione effettuata necessita di un nuovo thread creato per essa. Quando le connessioni si disimpegnano, il thread viene distrutto. In caso contrario, questo valore imposta il numero di thread inutilizzati da archiviare in una cache finché non devono essere utilizzati per una connessione. In genere questa impostazione ha scarso effetto sulle prestazioni, a meno che tu non riceva centinaia di connessioni al minuto, momento in cui questo valore dovrebbe essere aumentato in modo che la maggior parte delle connessioni possa essere effettuata su thread memorizzati nella cache.

Pool di buffer InnoDB

Il pool di buffer InnoDB è lo spazio di memoria che contiene molte strutture di dati in memoria di InnoDB, buffer, cache, indici e persino dati di riga. innodb_buffer_pool_size è il parametro di configurazione di MySQL che specifica la quantità di memoria allocata al pool di buffer InnoDB da MySQL. Questa è una delle impostazioni più importanti nella configurazione dell'hosting MySQL e dovrebbe essere configurata in base alla RAM di sistema disponibile.

L'80% è forse un ottimo inizio e una regola pratica. Vuoi essere sicuro che il server abbia molta RAM libera per il sistema operativo e il carico di lavoro solitamente sconosciuto. Tuttavia, come possiamo vedere di seguito, più grande è il server, più è probabile che la regola finisca per sprecare RAM. Penso che per la maggior parte delle persone inizi e finisca secondo la regola pratica, principalmente perché la modifica del pool di buffer InnoDB richiede un riavvio nelle versioni correnti.

Pool di buffer RAM totale del server con regola dell'80% RAM rimanente

1G                                 800 MB           200 MB

16G                               13G              3G

32G                                26G              6G

64G                                51G               13G

128G                              102G             26G

256G                             205G               51G

512G                              409G               103G

1024G                           819G                 205G

Quindi qual è una regola pratica migliore? La mia regola è di ottimizzare innodb_buffer_pool_size il più grande possibile senza utilizzare lo scambio quando il sistema esegue il carico di lavoro di produzione. In linea di principio suona bene, ma ancora una volta richiede un sacco di riavvii e potrebbe essere più facile a dirsi che a farsi.

max_connessioni

Questo parametro imposta la quantità massima di connessioni simultanee. È meglio considerare la quantità massima di connessioni che hai avuto in passato prima di impostare questo numero, quindi avrai un buffer tra quel numero superiore e il valore max_connections. Nota, questo non indica il numero massimo di utenti sul tuo sito Web in una sola volta; piuttosto mostra il numero massimo di utenti che effettuano richieste contemporaneamente.

table_cache

Questo valore dovrebbe essere mantenuto più alto del tuo valore open_tables. Per determinare questo valore utilizzare:

MOSTRA STATO COME 'aperto%';


Cent OS
  1. Come modificare le regole di confronto del database MySQL?

  2. Come copiare un database MySQL

  3. Come installare il server database MySQL 8 su CentOS 8

  4. Gestore MySQL CWP

  5. Rinominare il database MySQL

Come connettersi a MySQL usando PHP

Come rimuovere le righe duplicate in MySQL

Elenca le tabelle in un database MySQL

Server database MySQL

Come creare un database in MySQL

Panoramica di MySQL