Mysql
 sql >> Database >  >> RDS >> Mysql

Utilizzo di database relazionali MySQL su Arch Linux

MySQL è un popolare sistema di gestione di database, utilizzato come provider di archiviazione dati per migliaia di applicazioni Web e server. Questa guida aiuterà i principianti a iniziare con MySQL su Arch Linux. Se desideri distribuire MySQL come parte di uno stack di applicazioni, considera le nostre guide LEMP e LAMP.

Configurazione sistema

Assicurati che il tuo /etc/hosts il file ha voci corrette, simili a quelle mostrate di seguito. Sostituisci "12.34.56.78" con l'indirizzo pubblico del tuo Linode, "nomeserver" con il tuo nome host breve e "miodominio.com" con il nome di dominio del tuo sistema.

File:/ ecc/host
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Imposta il nome host del tuo sistema impostando HOSTNAME= valore nel /etc/rc.conf file.

Installa MySQL

Emetti i seguenti comandi per aggiornare il tuo sistema e installare MySQL:

pacman -Syu
pacman -S mysql

Dovrai aggiungere il mysqld demone al DAEMONS-() array alla fine del /etc/rc.conf file per assicurarsi che il processo mysql inizi dopo il prossimo ciclo di riavvio.

Il pacchetto del server MySQL verrà installato sul tuo server, insieme alle dipendenze e alle librerie client. Avvia MySQL eseguendo il seguente comando:

/etc/rc.d/mysqld start

Configura MySQL

Dopo aver installato MySQL, si consiglia di eseguire mysql_secure_installation , un programma che aiuta a proteggere MySQL. Durante l'esecuzione di mysql_secure_installation , ti verrà presentata l'opportunità di modificare la password di root MySQL, rimuovere account utente anonimi, disabilitare gli accessi root al di fuori di localhost e rimuovere i database di test. Si consiglia di rispondere sì a queste opzioni. Se viene richiesto di ricaricare le tabelle dei privilegi, selezionare Sì. Eseguire il comando seguente per eseguire il programma:

mysql_secure_installation

Per impostazione predefinita, MySQL ascolta solo le connessioni interne. Se prevedi di connetterti al tuo database tramite TCP/IP, dovrai rimuovere o commentare (ad es. anteporre alla riga un # ) aggiungi il bind-address riga nel file my.cnf. come segue:

File:/ etc/mysql/my.cnf
1
2
# skip-networking
bind-address - 127.0.0.1

Non è consigliabile consentire l'accesso illimitato a MySQL su un IP pubblico, ma è possibile modificare l'indirizzo su cui è in ascolto modificando il bind-address parametro. Se decidi di associare MySQL al tuo IP pubblico, dovresti implementare regole firewall che consentano solo connessioni da indirizzi IP specifici.

Consulta la sezione "Maggiori informazioni" alla fine di questo tutorial per risorse aggiuntive che riguardano la configurazione di MySQL. Emetti il ​​seguente comando per riavviare il demone:

/etc/rc.d/mysqld restart

Fare riferimento alla nostra guida all'accesso remoto MySQL sicuro per informazioni sulla connessione ai database con client locali.

Usa MySQL

Lo strumento standard per interagire con MySQL è mysql programma client. Per iniziare, emetti il ​​seguente comando al tuo prompt:

mysql -u root -p

Ti verrà richiesto di inserire la password dell'utente MySQL root. Inserisci la password assegnata durante l'installazione di MySQL e ti verrà presentato il display del monitor MySQL:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.9-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Per generare un elenco di comandi per il prompt di MySQL, digita \h :

    List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

For server side help, type 'help contents'

mysql>

Creiamo un database e gli assegniamo un utente. Immettere i seguenti comandi al prompt di MySQL:

CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit

Ora accediamo nuovamente al client MySQL come testuser e crea una tabella di esempio chiamata "clienti". Emetti i seguenti comandi:

mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
exit

In questo modo viene creata una tabella con un campo ID cliente di tipo INT per intero (autoincrementato per i nuovi record, utilizzato come chiave primaria), nonché due campi per la memorizzazione del nome del cliente. Ovviamente, probabilmente vorresti memorizzare molte più informazioni di queste per un cliente, ma è comunque un buon esempio di un caso comune.

Come reimpostare la password di root di MySQL

Se hai dimenticato la tua password MySQL di root, puoi reimpostarla eseguendo i seguenti comandi:

/etc/rc.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root

La parte seguente della reimpostazione della password verrà ora eseguita all'interno del programma client MySQL:

USE mysql;
UPDATE user SET PASSWORD-PASSWORD("CHANGEME") WHERE User-'root';
FLUSH PRIVILEGES;
exit

Infine, riavvia MySQL eseguendo il seguente comando:

/etc/rc.d/mysqld restart

Ottimizzazione di MySQL

MySQL Tuner è uno strumento utile che si connette a un'istanza in esecuzione di MySQL e fornisce consigli di configurazione in base al carico di lavoro. Idealmente, l'istanza MySQL avrebbe dovuto funzionare da almeno 24 ore prima di eseguire il sintonizzatore. Più a lungo è in esecuzione l'istanza, migliore sarà il consiglio che MySQL Tuner fornirà.

Per installare MySQL Tuner, dai i seguenti comandi:

pacman -S wget
wget http://mysqltuner.pl/mysqltuner.pl
chmod 755 mysqltuner.pl

Per eseguire MySQL Tuner, inserisci semplicemente:

./mysqltuner.pl

Tieni presente che questo strumento è progettato per fornire suggerimenti di configurazione ed è un ottimo punto di partenza. Sarebbe prudente eseguire ulteriori ricerche per ottimizzare le configurazioni in base alle applicazioni che utilizzano MySQL*. *

Maggiori informazioni

Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.

  • Manuale di riferimento di MySQL 5.1
  • Manuale PHP MySQL
  • Esempi DBI Perl per DBD::mysql
  • Manuale utente di MySQLdb