MySQL: comandi della console Windows. Installazione automatica di MySQL su Windows Comandi della console Windows MySQL

Ciao cari lettori del blog, è ora di cambiare il solito phpMyAdmin, con uno strumento più brutale per la gestione dei database. Oggi daremo un'occhiata alla console MySQL e impareremo come eseguire comandi standard, nonché comandi di ripristino del database. Console MySQL- questo è un DBMS standard (Sistema di gestione della banca dati) per MySQL, fornito con il prodotto.

Quando può tornare utile la console MySQL?

Dal punto di vista di un programmatore web alle prime armi, phpMyAdmin esegue tutte le funzioni necessarie per il normale funzionamento. Immagina di essere non solo un programmatore web, ma anche, in parte, un amministratore di sistema obbligato a ripristinare il database dopo un guasto.

In questo caso, non puoi fare a meno delle competenze nel lavorare con la console MySQL. Un po 'più tardi esamineremo i comandi per ripristinare il database utilizzando la console, ma per ora iniziamo con le basi.

Come avviare la console MySQL

Puoi avviare la console tramite Esplora risorse trovando l'utilità mysql.exe nella cartella MySQL. Di solito si trova a: [percorso della cartella]\mysql\bin\mysql.exe. Se usi Denver, Console MySQL, dovresti guardare in questa direzione:
C:\WebServer\usr\local\mysql\bin\mysql.exe

Oltre a Windows Explorer, puoi utilizzare la riga di comando:

  • Esegui cmd.exe
  • Scrivi il percorso completo del file mysql.exe
  • Premere Invio

Dovresti vedere qualcosa del genere:

L'errore indica che per avviare la console mysql è necessario inserire login e password dell'utente. Quando si lavora con Denver, l'utente del database standard è root con una password vuota.
Eseguire lo stesso comando con parametri aggiuntivi che indicano i dati di autorizzazione.

C:\WebServer\usr\local\mysql-5.1\bin\mysql.exe –u root –p

Se tutto è stato eseguito correttamente, riceverai il messaggio " Benvenuti nella console MySQL..."

Puoi verificare di essere connesso correttamente al server del database inserendo il comando show databases; . Al termine della sua esecuzione verrà visualizzato l'elenco dei database presenti sul server.

Proviamo a selezionare uno dei database e a guardare l'elenco delle tabelle in esso contenute:

prova d'uso; mostrare tabelle;

Nel mio esempio faccio riferimento al database dei test; se non ne hai uno, fai riferimento a qualsiasi altro disponibile.

Come esperimento, puoi provare a creare un database di prova utilizzando il comando:

creare test del database;

Al quale riceverai un messaggio: " QUERY OK, 1 riga interessata", indicando che il database denominato test è stato creato correttamente.

Ora creiamo una tabella degli ordini nel database di test.

creare una tabella test (`id` int(11),`content` varchar(255));

Ed esegui nuovamente il comando mostra tabelle; , che mostrerà che la tabella è stata effettivamente creata ed è disponibile per lavorarci.

Puoi anche provare a visualizzare un elenco di colonne in una tabella:

mostra le colonne da test.order;

Bene, per concludere la nostra conoscenza Console MySQL, eseguiamo alcune query:

SELECT * FROM prova.ordine;

Quindi, cari lettori, mi congratulo con voi, ora potete lavorare con MySQL in condizioni spartane senza phpMyAdmin. Ecco un elenco di comandi quotidiani:

  • CREA DATABASE NOME_DB; — creare una nuova banca dati;
  • MOSTRA DATABASE; — visualizzazione delle banche dati disponibili;
  • USA NOME_DB; — selezionare la banca dati;
  • MOSTRA TABELLE; — visualizzare tutte le tabelle;
  • MOSTRA COLONNE DA NOME_TABELLA; — visualizzare le colonne e le loro proprietà;
  • CREATE TABLE NOME_TABELLA (`ID` INT(11),`NAME` VARCHAR(255));— creazione di una tabella;
  • ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT(11);— aggiungi una colonna alla tabella;
  • ALTER TABLE NOME_TABELLA DROP NOME_COLONA;— rimuovere una colonna dalla tabella;
  • MYSQL -UUSERNAME -PPASSWORD -HHOST DB_NAME — riempie il database;
  • MYSQLDUMP -UUSERNAME -PPASSWORD -HHOST NOME_DB > NOME_FILE.SQL— effettuare un dump del database;
  • ESENTATO; — esci dalla console MySQL.

Comandi per ripristinare le tabelle tramite la console MySQL

Come promesso all'inizio dell'articolo, inserisco i comandi per ripristinare le tabelle. Questi comandi possono essere utili dopo un errore del server.

Popolare sistema di gestione di database MySQL ampiamente utilizzato per varie esigenze, principalmente come standard de facto nel campo dell'hosting Internet. Non meno diffuso è il pacchetto per la gestione di questo DBMS - phpMyAdmin. Senza dubbio, questo è un prodotto buono e conveniente, ma molto spesso accade che le competenze per lavorare con questo prodotto sostituiscano completamente le competenze per lavorare con il DBMS stesso. Pertanto, in questo materiale abbiamo deciso di presentare ai nostri lettori come eseguire attività di amministrazione di base di MySQL dalla riga di comando.

Come i nostri lettori abituali avranno notato, siamo costantemente contrari all'uso di vari tipi di pannelli di controllo da parte dei principianti, non importa quanto convenienti e diffusi possano essere. Allo stesso tempo, non neghiamo l'esistenza e noi stessi li utilizziamo con piacere nelle nostre attività quotidiane.

Ma c'è una grande differenza: uno specialista che sa lavorare con la riga di comando utilizzando il pannello non sostituisce la capacità di lavorare con il prodotto, ma gli rende solo più facile svolgere le attività quotidiane. E un principiante, abituato a eseguire tutte le azioni nel pannello, se è inaccessibile, cade nel panico, perché ora ha bisogno di inserire alcuni "incantesimi" in questa incomprensibile console nera...

In effetti, lavorare con un DBMS a livello di riga di comando non è affatto difficile e alcune attività di amministrazione sono più facili e convenienti da eseguire al suo interno. Facciamo subito una prenotazione: per amministrazione intendiamo l'amministrazione del server DBMS e non i database stessi. Naturalmente puoi anche lavorare con loro dalla riga di comando, ma è meglio usare strumenti più adatti a questo scopo.

Gestione di database e utenti in MySQL

Se dovessi iniziare a ballare dai fornelli, allora lavorare con un DBMS dovrebbe iniziare con la creazione di database e utenti di questi database. I compiti sono essenzialmente semplici e possono essere risolti perfettamente e, soprattutto, semplicemente, dalla console. Un'utilità con lo stesso nome è progettata per funzionare con il server MySQL mysql, con cui si lavora in modalità interattiva, quindi prima ci collegheremo al server:

Mysql -u root -p

Laddove l'opzione -u specifica il nome utente e -p specifica l'autenticazione della password, la sintassi del comando consente di specificare la password inserendola senza spazi immediatamente dopo la chiave, ma in questo caso verrà salvata nella cronologia dei comandi, che è non del tutto buono, quindi è meglio inserire la password in modo interattivo. Dopo aver eseguito questo comando, ci troveremo nell'ambiente MySQL, come indicato dal prompt della riga di comando modificato.

Lavorare in questo ambiente ha le sue caratteristiche: ogni comando deve terminare con il simbolo ; O \G, di cui, tra l'altro, è scritto nella prima riga del saluto. Si esce da questa modalità con il comando:

Parliamo di un errore molto comune: dimenticare di mettere un punto e virgola alla fine del comando. Cosa fare? Nessun problema, basta inserire i caratteri mancanti nella riga successiva.

Innanzitutto, diamo un'occhiata all'elenco dei database:

Mostra database;

Come si suol dire, senza dettagli inutili, ma per la maggior parte delle attività amministrative questo è sufficiente:

Trovare l'elenco degli utenti è un po' più difficile; è archiviato sotto forma di tabella del database di servizio mysql, quindi scriviamo una piccola richiesta:

Seleziona utente, host da mysql.user;

Squadra Selezionare seleziona le colonne specificate utente, ospite, l'opzione from indica da dove li selezioniamo, ovvero dalla tabella utente del database mysql.

La prima colonna indica l'utente, la seconda l'host su cui questo utente può connettersi, % - denota qualsiasi valore. Tieni presente che se ivanov ha nelle impostazioni localhost, quindi quando connesso a mysql dall'indirizzo 127.0.0.1 non potrà accedervi, di questo occorre tenere conto quando si specificano i dati di connessione al server DBMS nelle proprie applicazioni.

È possibile visualizzare i proprietari del database utilizzando la seguente query:

Seleziona host, db, utente da mysql.db;

Non sono richiesti commenti speciali qui. Per esempio, ivanov ha i diritti sui database con il prefisso ivanov_ quando connesso tramite localhost e andrey alle basi con un prefisso andrey_ su qualsiasi host. Puoi visualizzare i privilegi dell'utente con il comando:

Mostra sovvenzioni per "ivanov"@"localhost";

Racchiudiamo il nome utente e l'host tra virgolette singole.

La prima riga segnala che l'utente specificato non dispone di privilegi ( UTILIZZO) a qualsiasi tabella di qualsiasi database ( *.* ), la seconda riga parla di tutti i principali privilegi per tutte le tabelle di tutti i database con il prefisso ivanov_.

Un’analisi dettagliata del sistema dei diritti MySQL va ben oltre lo scopo di questo articolo, diciamo così TUTTI I PRIVILEGI dà all'utente tutti i diritti sui suoi database, ma non gli consente di gestire i diritti di accesso per altri utenti. Per fare ciò, viene utilizzata una serie di diritti TUTTI I PRIVILEGICON OPZIONE DI SOVVENZIONE, che ha per impostazione predefinita radice. Per un utente semplice, questo insieme di diritti è ridondante.

Proviamo a creare un nuovo utente:

Creare l'utente "petrov"@"localhost" identificato da "password";

La sintassi del comando è semplice, specifichiamo il nome utente e l'host, nonché i dati identificativi sotto forma di password. Tutti i valori passati sono racchiusi tra virgolette singole. Dopo aver creato un utente, è necessario assegnargli i diritti, questo viene fatto con il comando CONCESSIONE. Innanzitutto, lo priveremo chiaramente dei privilegi sui database di altre persone:

Concedi l'utilizzo su *.* a "petrov"@"localhost";

Quindi possiamo impostare i diritti a nostra discrezione, ad esempio concedendo diritti completi ai database con un modello di nome petrov_:

Concedi tutti i privilegi su `petrov\_%`.* a "petrov"@"localhost";

Tieni presente che il modello deve essere racchiuso tra caratteri gravis (` ), che si trovano sulla chiave con la lettera russa E.

Puoi concedere i diritti a un database separato come questo:

Concedi tutti i privilegi su andrey_drupal8.* a "petrov"@"localhost";

Per selezionare i diritti, utilizzare solo il comando REVOKE, che ha una sintassi simile A (a cui), sostituirlo con da (Chi). Per esempio:

Revoca tutti i privilegi su andrey_drupal8.* da "petrov"@"localhost";

Affinché il server MySQL possa applicare i diritti, è necessario forzarlo a ricaricare la cache dei privilegi con il comando:

Privilegi di flush;

Potrebbe anche essere necessario modificare la password dell'utente:

Imposta la password per "petrov"@"localhost" = password("nuovapassword");

Rinominalo, e rinominare non significa necessariamente cambiare il nome utente; puoi cambiare sia il nome che l'host, in qualsiasi combinazione:

Rinominare l'utente "petrov"@"localhost" in "petr"@"127.0.0.1";

E infine, elimina l'account:

Elimina l'utente "petr"@"127.0.0.1";

Passiamo dagli utenti ai database; nel caso più semplice, per creare un nuovo database è sufficiente il comando:

Crea il database petrov_newdb;

Verrà creato un database con la tabella codici predefinita e la codifica di confronto. Se il server DBMS non è stato configurato separatamente, molto probabilmente lo sarà questa codifica latin1_svedese_ci, che in alcuni casi può causare problemi, se non ora, almeno in futuro, quindi è buona regola indicare esplicitamente la codifica durante la creazione del database. Per UTF-8 sarebbe così:

Crea database petrov_newdb set di caratteri predefinito utf8 collate utf8_general_ci;

Per Windows-1251:

Crea database petrov_newdb set di caratteri predefinito cp1251 collate cp1251_general_ci;

Per rimuovere il database utilizzare:

Elimina il database petrov_newdb;

Controllo, ottimizzazione, correzione degli errori nei database MySQL

Poiché MySQL funziona attivamente, i database potrebbero frammentarsi e contenere errori nei dati delle tabelle. Non stiamo parlando di guasti gravi, tali situazioni dovrebbero essere considerate individualmente, ma degli errori più semplici che possono essere eliminati con successo utilizzando il DBMS stesso. Per controllare, riparare e ottimizzare, è conveniente utilizzare l'utilità mysqlcheck.

Per controllare il database, fare dove andrey_drupal8- nome del database:

Mysqlcheck -u root -p --check andrey_drupal8

Tutti i database possono essere controllati contemporaneamente con il comando:

Mysqlcheck -u root -p --check --all-databases

E poiché molto probabilmente l'intero output non si adatterà allo schermo, ha senso reindirizzarlo al comando meno:

Mysqlcheck -u root -p --check --all-databases | meno

notare che meno permette di scorrere l'output sia verso il basso che verso l'alto utilizzando le frecce, premere per uscire Q.

Se sono stati rilevati errori in uno qualsiasi dei database, dovresti provare a correggerli, per fare ciò indicare:

Mysqlcheck -u root -p --auto-repair andrey_drupal8

Per ottimizzare, utilizzare il tasto - -ottimizzare, puoi ottimizzare un singolo database o più database, per fare ciò elencali dopo la chiave --banche dati:

Mysqlcheck -u root -p --optimize --databases andrey_drupal8 petrov_newdb

e anche tutto in una volta:

Mysqlcheck -u root -p --optimize --all-databases

Caricamento e caricamento di dump del database MySQL

Un'altra attività comune quando si amministra qualsiasi DBMS, i dump del database vengono utilizzati sia per il backup che per il trasferimento o la creazione di copie. Se il backup è un processo automatizzato, la creazione di copie per il trasferimento su un altro server o prima di qualsiasi intervento significativo nella struttura del database deve essere eseguita manualmente.

E se si tratta di database di grandi dimensioni, allora ecco phpMyAdmin un cattivo aiuto, influisce sul tempo di esecuzione degli script, sulla dimensione del file scaricato, sulla memoria disponibile, ecc. E anche se puoi ancora caricare un dump di grandi dimensioni utilizzandolo, potresti non essere in grado di caricarlo nuovamente.

Iniziamo creando dump; l'utilità viene utilizzata per questi scopi mysqldump, la cui sintassi segue la sintassi mysqlcheck. Per scaricare il dump usate il comando:

Mysqldump -u root -p andrey_drupal8 > ~/drupal8.sql

Per scaricare più database contemporaneamente, utilizzare la chiave --banche dati O --tutti-database per creare un dump di tutti i database contemporaneamente. L'output del comando dovrebbe essere inviato a un file e indicarne la posizione, nel nostro caso questo è il file drupal8.sql nella tua directory home. Puoi anche reindirizzare l'output all'archiviatore e ricevere immediatamente l'archivio:

Mysqldump -u root -p andrey_drupal8 | gzip > ~/drupal8.sql.gz

In generale, non consigliamo di utilizzare un dump per più database contemporaneamente; l'opzione migliore sarebbe un dump proprio per ciascun database, utilizzando allo stesso tempo una chiave --tutti-database giustificato nei casi in cui è necessario effettuare rapidamente una copia di backup dell'intero server, ad esempio durante l'aggiornamento o la reinstallazione di un DBMS, in modo da poter ripristinare rapidamente le informazioni se qualcosa va storto.

Per ripristinare il database è necessario inviare il dump all'input dell'utility mysql; per i dump singoli occorre sempre specificare il database di destinazione, ad esempio:

Mysql -u root -p andrey_drupal8< ~/drupal8.sql

La destinazione non deve necessariamente essere il database di origine, ma tieni presente che se il database esiste già, tutto il suo contenuto verrà sostituito dal contenuto del dump.

Per i dump contenenti più di un database, è sufficiente specificare:

Mysql -u root -p< ~/all.sql

In questo caso ogni database verrà caricato nella propria sorgente; se il database sorgente non esiste, verrà creato.

Come puoi vedere, la creazione e il ripristino dei dump utilizzando la riga di comando avviene letteralmente su una riga ed è molto più semplice e veloce rispetto all'utilizzo di phpMyAdmin o strumenti simili.

Recupero di una password root MySQL dimenticata

Un altro compito molto popolare. Diciamo subito che è impossibile recuperare la password del superutente MySQL, come qualsiasi altro utente, ma è possibile modificarla. Per fare ciò, è necessario disporre dei diritti di superutente per il sistema operativo. Innanzitutto, interrompiamo il servizio DBMS:

Arresto del servizio mysql

Quindi lo eseguiamo in modalità provvisoria, saltando le tabelle dei privilegi:

Mysqld_safe --skip-grant-tables &

Tieni presente che dopo aver eseguito questo comando, il prompt della riga di comando scomparirà, lasciando solo un cursore lampeggiante. Scriviamo direttamente lì:

MySQL -u root

e ci troviamo nell'ambiente mysql con diritti di root senza inserire password.

Ci sembra che molti abbiano già intuito cosa fare dopo, ma impostare la password non funzionerà in questa modalità, quindi devi andare in un modo diverso. Ricorda che le informazioni sugli utenti sono archiviate in una tabella utente banca dati dei servizi mysql. Quindi eseguiamo la seguente query:

Aggiorna mysql.user imposta password = password ("nuova password") dove utente = "root";

Importante! Nelle nuove versioni di MySQL, invece di una colonna parola d'ordine tavoli utente viene utilizzata la colonna stringa_autenticazione, quindi invece impostare la password dovrebbe essere indicato imposta stringa_autenticazione.

Questa richiesta imposterà una nuova password nuova password per tutte le righe di una colonna utente che sono elencati radice.

Aggiorniamo la cache dei privilegi:

Privilegi di flush;

Usciamo dalla modalità:

Arrestiamo il servizio e avviamolo in modalità normale:

Arresto del servizio mysql
avvio del servizio mysql

Ci auguriamo che dopo aver letto questo articolo acquisirai le competenze iniziali per lavorare con MySQL dalla riga di comando e potrai sentirti sicuro anche quando phpMyAdmin non è disponibile, e magari apprezzerai anche la comodità dei comandi della console e avrai meno probabilità di entrare pannello, preferendo gestire direttamente il server.

  • Tag:

Abilita JavaScript per visualizzare il

Supponiamo che tutto sia già installato e ora ci mettiamo al lavoro.
Connettiamoci:
ceval@srv:~$ mysql -pPASSWORD
-p, --password=— Password utente per la connessione al server MySQL. Non dovrebbe esserci spazio tra -p e la password.
-u, --utente=- Nome utente per connettersi al server MySQL. Facoltativo, il valore predefinito è lo stesso del tuo login. Utilizzato se il login è diverso dal nome utente per la connessione al server MySQL.
$ mysql -u ceval_ -pPASSWORD
Se abbiamo inserito correttamente la nostra password, vedremo le seguenti righe e richieste:

Benvenuti nel monitor MySQL. I comandi terminano con ; oppure\g.
Versione del server: 5.0.45-Debian
Digita "aiuto;" o "\h" per chiedere aiuto. Digitare "\c" per cancellare il buffer.
mysql>

Creiamo il database che ci occorre, con codifica cp1251; la codifica specificata può essere sostituita con quella richiesta:
CREA DATABASE nome_db SET DI CARATTERI PREDEFINITO cp1251 RACCOLTA PREDEFINITA cp1251_general_ci;
Rimozione di un database:
DROP DATABASE nome_db;
Cambio di base
USA `il mio database`;
Rimozione di una tabella dal database
DROP TABLE `db_table`;
Un po 'di più:
->\g mostra i database; // guarda quali database ci sono
->\g crea il database satellite; // crea un nuovo database
->\g mostra i database; // controlla se è stato creato
->\q // Esci

Versioni diverse di MySQL possono avere comandi diversi (4 e 5) in questo caso \g - comanda al server di eseguire uno script SQL
Caricamento, salvataggio di un database MySQL (backup, ripristino) funzionante con mysql ubuntu
Caricare il database con i dati salvati (se i dati sono stati salvati). Vengono salvati ad es. nel file baza.sql
mysql
->\g mostra i database;
->\u baza;
->\. /home/backup/baza.sql
->\q
/home/backup/baza.sql — percorso del file di backup
[b]Salvare il database con i dati nel file baza.sql
mysqldump baza > /home/backup/baza.sql;
Il database è archiviato: /var/lib/mysql/baza- Per cancellare l'intero database è sufficiente cancellare questa directory.
Si può fare in vari modi:
— connettiti tramite ssh e lavora tramite la riga di comando;
- usa phpmyadmin;
- utilizzare il pacchetto mysql-admin - si tratta di un'utilità grafica di amministrazione MySQL (strumento GUI per un'amministrazione MySQL intuitiva
MySQL)
Ora installiamo il pacchetto mysql-admin per auto
sudo aptitude installa mysql-admin
Successivamente andiamo sul computer remoto e modifichiamo la configurazione [b]my.cnf
$ sudo nano /etc/mysql/my.cnf
Per iniziare, puoi controllare:
$ netstat -an | grep3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* ASCOLTA
Come puoi vedere dall'output, MySQL è attualmente in ascolto su localhoste, ma abbiamo bisogno che MySQL sia in ascolto su tutte le interfacce e non solo su localhost, quindi troviamo e modifichiamo la seguente voce:

[...]
# Invece di saltare la rete, l'impostazione predefinita ora è solo in ascolto
# localhost che è più compatibile e non meno sicuro.
indirizzo di associazione = 127.0.0.1
#
[...]

e affinché MySQL sia in ascolto su tutte le interfacce, commentiamo questa riga:
[...]

#indirizzo-bind = 127.0.0.1:

[...]
Fermiamo MySQL:
$ sudo /etc/init.d/mysql riavviare
E diamo ancora un'occhiata all'output del comando:
$ netstat -an | grep3306
L'output dovrebbe assomigliare a questo:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* ASCOLTA

e ora puoi eseguire mysql-admin per lavorare in remoto con MySQL - Alt+F2 - mysql-admin
O
$mysql-admin
lavorare con mysql ubuntu

Per Win 32, seleziona la distribuzione: Windows (x86, 32 bit), Archivio zip.

Per Win 64: Windows (x86, 64 bit), Archivio zip.

Dopo aver fatto clic sul pulsante Download vedrai un modulo di registrazione, puoi saltarlo facendo clic sul collegamento sottostante - No grazie, portami ai download.

2. Crea una cartella di installazione. Per esempio . E decomprimi il contenuto dell'archivio in modo che le cartelle bin, dati, documenti e altri erano nella radice della cartella di installazione.

3. Passiamo alla creazione di un file di configurazione (my.ini). Prendiamo come base uno dei file standard:

  • my-small.ini - adatto a coloro che utilizzano MySQL di tanto in tanto e non vogliono che il server occupi molte risorse.
  • Anche my-medium.ini è una configurazione con poche risorse, ma è adatta a coloro che utilizzano MySQL in modo continuativo (una buona scelta per un server web domestico).
  • my-large.ini e my-huge.ini - per i sistemi utilizzati come server MySQL dedicato. Tuttavia, my-large.ini può essere utilizzato per un server domestico se sono necessarie prestazioni MySQL aggiuntive (512 MB di RAM non sono tanti di questi tempi).
  • my-innodb-heavy-4G - per server dedicati con almeno 4 GB di RAM e che utilizzano solo tabelle InnoDB.

In questo esempio ho scelto come base my-medium.ini. Rinominalo in my.ini e posizionalo nella radice della cartella di installazione ( C:\Programmi\MySQL\MySQL Server 5.5).

Apri per la modifica (nel normale Blocco note) e subito dopo la riga aggiungi due parametri:

Basedir=C:/Programmi/MySQL/MySQL Server 5.5 datadir=C:/Programmi/MySQL/MySQL Server 5.5/data

Tieni presente che i percorsi utilizzano le barre (/) anziché le barre rovesciate (\).

basedir è il percorso della cartella di installazione.

datadir - percorso della cartella dati (dove sono archiviati tutti i database). A volte ha senso mettere i dati su un disco separato per migliorare le prestazioni o garantire l'affidabilità.

Per ogni evenienza, ecco un frammento del file di configurazione dopo aver apportato le modifiche:

# Il server MySQL basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M

4. Il passaggio successivo è aggiungere il percorso C:\Programmi\MySQL\MySQL Server 5.5\bin alla variabile d'ambiente PATH per facilitare l'avvio di MySQL dalla riga di comando. Per fare ciò, apri Proprietà del sistema -> Impostazioni di sistema aggiuntive -> nella scheda Avanzate, in basso, il pulsante "Variabili d'ambiente...". Nella finestra che si apre, scorriamo le variabili di sistema fino a trovare Path. Selezionare questa riga e fare clic su "Cambia...". Alla fine della riga aggiungiamo il nostro percorso, preservando i parametri esistenti:

Tieni presente che i percorsi sono separati da punto e virgola. Assicurati che ci sia un punto e virgola all'inizio e alla fine del tuo percorso.

5. Prima di eseguire un test, aprire la porta TCP in entrata 3306 nel Windows Firewall:

Se sul sistema è installato un firewall aggiuntivo, è necessario aprire anche la porta TCP 3306 per le connessioni in entrata.

6. Ora effettuiamo un giro di prova. Nella riga di comando lanciata come amministratore (richiesto se l'UAC è abilitato su Seven o Vista), esegui:

Mysqld --console

Sullo schermo verranno visualizzate diverse righe. Se il lancio ha avuto successo, l'ultima riga sarà simile a questa:

Versione: "5.5.9-log" socket: "" porta: 3306 MySQL Community Server (GPL)

Lascia aperta questa finestra e apri un'altra finestra della riga di comando, nella quale inseriamo:

MySQL -u root

Se la connessione ha avuto successo, verrà visualizzato un prompt dei comandi: mysql>

Vediamo quali database abbiamo:

Mostra database;

Il punto e virgola alla fine della query SQL è OBBLIGATORIO!

Risposta della squadra:

Adesso siamo finalmente convinti che il server funzioni.

7. Passiamo al passaggio successivo: è necessario impostare la password dell'amministratore MySQL (utente root). Non esiste una password impostata per impostazione predefinita e questo deve essere risolto. Nella stessa finestra MySQL, inserisci i seguenti comandi:

Usa mysql UPDATE utente SET password = PASSWORD("tua_password") WHERE utente = "root";

Controlliamo il risultato:

SELEZIONA utente, host, password DALL'utente;

Come puoi vedere nello screenshot, la colonna della password è piena, il che significa che la password è stata impostata.

Prima di uscire eseguite il comando:

PRIVILEGI A FILO;

Ora, quando ti connetti, devi inserire una password. Per fare ciò, utilizzare l'opzione -p:

Mysql -u root -p

Per arrestare MySQL eseguire:

Mysqladmin -u root -p arresto

8. L'ultimo passaggio è avviare MySQL come servizio di sistema Windows.

Assicurati che non ci siano processi MySQL attivi sul sistema.

Nella riga di comando in esecuzione come amministratore, esegui:

"C:\Programmi\MySQL\MySQL Server 5.5\bin\mysqld" --installa

Il percorso di mysqld deve essere specificato per intero (anche se è elencato in PATH)!

Per avviare il servizio, aprire “Gestione computer” e avviare manualmente il servizio MySQL:

O più facilmente tramite la riga di comando:

Inizio netto mysql

Per rimuovere un servizio, prima interrompilo:

Net stop mysql

ed eseguire:

"C:\Programmi\MySQL\MySQL Server 5.5\bin\mysqld" --remove

Di seguito è riportato un elenco dei comandi più utili e utilizzati di frequente MySQL con esempi.

mysql all'inizio della riga significa che il comando viene eseguito dopo l'accesso MySQL.

Il simbolo # o $ all'inizio della riga significa che il comando viene eseguito dalla riga di comando.

Per verificare lo stato del server MYSQL Fare:

Per FreeBSD:

# stato del servizio mysql-server

V CentOS/RHEL:

# stato del servizio mysqld

MySQL dalla console se il server MySQLè sullo stesso host:

Per connettersi al server MySQL dalla console se il server MySQL si trova sull'host remoto db1.example.com:

$ mysql -u nomeutente -p -h db1.esempio.com

Lavorare con database e tabelle: visualizzare, eliminare, modificare record. Consolle

Crea un database su MySQL server:

MySQL crea un database

Mostra un elenco di tutti i database sul server MySQL:

uso di MySQL;

Visualizza tutte le tabelle nel database:

MySQL mostra tabelle;

Visualizza il formato della tabella nel database:

mysql descrive;

Elimina banca dati:

Database di rilascio MySQL;

Elimina una tabella dal database:

Tabella di rilascio MySQL;

Mostra tutto il contenuto della tabella:

Mysql SELECT * FROM ;

Visualizza le colonne e il contenuto delle colonne nella tabella selezionata:

Mysql mostra le colonne da ;

Visualizza le righe in una tabella specifica contenente " qualunque ":

Mysql SELECT * FROM WHERE = "qualunque cosa";

Visualizza tutti i record in una tabella specifica contenente "Bob" e il numero di telefono "3444444:

Mysql SELECT * FROM WHERE nome = "Bob" AND numero_telefono = "3444444";

Mostra tutte le voci, NON contenente il nome "Bob" e il numero di telefono "3444444", ordinati in base al campo phone_number:

Mysql SELECT * FROM WHERE nome != " Bob " AND numero_telefono = " 3444444 " ordina per numero_telefono;

Mostra tutte le voci che iniziano con le lettere "bob" e il numero di telefono "3444444" in una tabella specifica:

Mysql SELECT * FROM WHERE nome come "Bob %" AND numero_telefono = "3444444";

Mostra tutte le voci che iniziano con le lettere "bob" e il numero di telefono "3444444", limitando le voci da 1 a 5:

Mysql SELECT * FROM WHERE nome come "Bob %" AND numero_telefono = "3444444" limite 1.5;

Utilizzo delle espressioni regolari ("REGEXP BINARY") per cercare record. Ad esempio, per una ricerca senza distinzione tra maiuscole e minuscole, trova tutti i record che iniziano con la lettera A:

Mysql SELECT * FROM WHERE rec RLIKE "^a";

Mostra tutte le voci univoche:

Mysql SELECT DISTINTO DA ; mysql SELECT, DA ORDINE PER DESC;

Mostra il numero di righe nella tabella:

Mysql SELECT COUNT(*) FROM ;

Mysql SELECT SUM(*) FROM ;

Rimozione di una colonna:

Mysql altera la colonna di rilascio della tabella;

Aggiunta di una colonna al database:

Mysql altera la tabella aggiungi la colonna varchar(20);

Modifica del nome della colonna:

Mysql altera la tabella cambia varchar(50);

Crea una colonna con un nome univoco per evitare nomi duplicati:

Mysql altera la tabella aggiungi unique();

Ridimensionare una colonna:

Mysql altera la tabella modifica VARCHAR(3);

Rimuovere una colonna da una tabella:

MySQL altera l'indice di rilascio della tabella;

Mysql CARICA DATI INFILE " /tmp/nomefile.csv " sostituisci NELLA TABELLA CAMPI TERMINATI DA "," RIGHE TERMINATE DA "n" (campo1,campo2,campo3);

Utenti del server MySQL, password: aggiunta, modifica di utenti e password. Consolle

Creazione di un nuovo utente: connessione al server MySQL come root, passa al database, aggiungi utente, aggiorna i privilegi:

# mysql -u root -p mysql usa mysql; mysql INSERT INTO utente (Host, Utente, Password) VALUES("%"," nome utente ", PASSWORD(" password ")); privilegi di flush mysql;

Modifica della password utente dalla console sull'host remoto db1.example.org:

# mysqladmin -u nomeutente -h db1.example.org -p password " nuova-password "

Modifica della password utente dalla console MySQL- connettersi come root, aggiornare la password, aggiornare i privilegi:

# mysql -u root -p mysql IMPOSTA LA PASSWORD PER " utente "@" nomehost " = PASSWORD(" passwordqui "); privilegi di flush mysql;

Recupero/modifica della password del server root MySQL- fermare MySQL, avvia senza tabelle dei privilegi, connettiti come root, imposta una nuova password, esci e riavvia MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql update user set password=PASSWORD(" newrootpassword ") dove Utente="root"; mysql; privilegi di flush; mysql esci # /etc/init.d/mysql stop # /etc/init.d/mysql start

Imposta una password di root se è presente una password di root.

# mysqladmin -u root password nuova password

Aggiorna la password di root:

# mysqladmin -u root -p vecchia password nuova password

Impostazione del diritto di connessione al server dall'host localhost con la password "passwd" - connessione a subroot, passaggio al database, impostazione dei privilegi, aggiornamento dei privilegi:

# mysql -u root -p mysql usa mysql; mysql concede l'utilizzo su *.* a bob @localhost identificato da " passwd "; privilegi di flush mysql;

Impostazione dei privilegi utente per utilizzare il database: connessione come root, passaggio al database, impostazione dei privilegi, aggiornamento dei privilegi:

# mysql -u root -p mysql usa mysql; mysql INSERISCI IN db (Host,Db,Utente,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALORI ("%","nomedatabase","nomeutente","Y","Y","Y"," Y","Y","N"); privilegi di flush mysql;

Mysql concede tutti i privilegi su databasename .* al nome utente @localhost; privilegi di flush mysql;

Aggiornamento delle informazioni nel database:

Mysql UPDATE SET Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" dove = utente";

Eliminazione di una riga in una tabella:

Mysql DELETE da dove = "qualunque cosa";

Aggiornamento dei privilegi nel database:

Privilegi di flush MySQL;

Backup: creazione, ripristino di database. Consolle

Crea una copia di backup (dump) di tutti i database nel file alldatabases.sql:

# mysqldump -u root -p password -opt; /tmp/alldatabases.sql

Eseguire il backup di un database nel file nomedatabase.sql:

# mysql dump -u nomeutente -p password -databases nomedatabase; /tmp/nomedatabase.sql

Eseguire il backup di una tabella nel file nomedatabase.nometabella.sql:

# mysql dump -c -u nome utente -p password nome database nome tabella; /tmp/nomedatabase.nometabella.sql

Ripristino di un database (o tabella) da un backup:

# mysql -u nome utente -p password nome database< /tmp/databasename.sql

Creazione di tabelle di database. Consolle

i nomi delle colonne sono indicati in lettere minuscole;
Lettere MAIUSCOLE - tipi e attributi delle colonne;
tra parentesi: il valore del tipo di colonna.

Crea una tabella, esempio 1:

mysql CREATE TABLE (nome VARCHAR(20), iniziale medio VARCHAR(3), cognome VARCHAR(35), suffisso VARCHAR(3), officeid VARCHAR(10), ID utente VARCHAR(15), nome utente VARCHAR(8), email VARCHAR(35 ), telefono VARCHAR(25), gruppi VARCHAR(15), datastamp DATE, timestamp TIME, pgpemail VARCHAR(255));

Crea una tabella, esempio 2:

Mysql crea tabella (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, nome VARCHAR(35), secondo nome VARCHAR(50), cognome VARCHAR(50) predefinito "bato");