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

Utilizzo di database relazionali MySQL su Gentoo

MySQL è un sistema di gestione di database relazionali (RDBMS) utilizzato come back-end per innumerevoli applicazioni Web e server. Rilasciato originariamente nel 1995, rimane una scelta popolare per gli sviluppatori come server di database.

Prima di iniziare questa guida, assicurati di aver completato i passaggi descritti nella nostra Configurazione e protezione di un'istanza di calcolo. Inoltre, assicurati di aver effettuato l'accesso al tuo sistema come utente root.

Installazione di MySQL

Emetti il ​​seguente comando per assicurarti che il repository del tuo pacchetto sia aggiornato:

emerge --sync

Il comando seguente aggiornerà tutti i pacchetti e le relative dipendenze sul sistema. Se non ti senti a tuo agio nell'esecuzione di questo comando, puoi saltarlo o usare emerge --update world :

emerge --update --deep world

Emetti il ​​seguente comando per installare MySQL:

emerge dev-db/mysql

Una volta completato questo processo, dovrai anche installare i database utilizzati da MySQL. Emetti il ​​seguente comando:

mysql_install_db

Ora sei pronto per avviare il server MySQL per la prima volta:

/etc/init.d/mysql start

Dovrai eseguire mysql_secure_installation per impostare una password di root e proteggere la tua istanza MySQL. Emetti il ​​seguente comando:

mysql_secure_installation

Se desideri che MySQL venga eseguito all'avvio del sistema, immetti il ​​seguente comando:

rc-update add mysql default

Configurazione di MySQL

Per impostazione predefinita, MySQL si lega a localhost. Se desideri che MySQL sia in ascolto su un IP pubblico, puoi modificare il bind-address valore in /etc/mysql/my.cnf per riflettere l'indirizzo IP del tuo Linode. Non è consigliabile consentire l'accesso illimitato a MySQL su un IP pubblico e potresti prendere in considerazione l'implementazione di regole firewall per consentire solo il traffico proveniente da indirizzi IP specifici.

I suggerimenti sopra elencati potrebbero non essere appropriati per tutti gli ambienti, quindi assicurati che la tua applicazione non richieda impostazioni diverse. Consulta le risorse aggiuntive nella sezione "Maggiori informazioni" di questa guida per una documentazione più dettagliata sulla configurazione di MySQL.

Ogni volta che modifichi le impostazioni in /etc/mysql/my.cnf , dovrai riavviare il server MySQL. Emetti il ​​seguente comando:

/etc/init.d/mysql restart

Utilizzo di MySQL

La maggior parte delle interazioni con MySQL avviene tramite mysql utilità della riga di comando. Emetti il ​​seguente comando per interagire con MySQL:

mysql -u root -p

Quando richiesto, inserisci la password che hai creato durante mysql_secure_installation processi. Una volta fatto, verrai accolto con il prompt di MySQL:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.1.51-log Gentoo Linux mysql-5.1.51

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

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

mysql>

Se dimentichi la tua password di root MySQL in un secondo momento, può essere reimpostata con la seguente sequenza di comandi:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --skip-networking &
mysqladmin -u root

Dopo aver effettuato l'accesso, immetti i seguenti comandi al prompt di MySQL:

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

Per visualizzare un elenco di comandi disponibili (non sintassi SQL), emettere \h al prompt di MySQL:

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear command.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new 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.

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

CREATE DATABASE testdb;

CREATE USER 'testuser' IDENTIFIED BY 's8723hk2';

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';

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);

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 su un cliente, ma è comunque un buon esempio di un caso comune.

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 emettere il seguente comando:

emerge dev-db/mysqltuner

Per eseguire MySQL Tuner, inserisci semplicemente:

mysqltuner

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