Condividi tramite


Guida introduttiva: Connettersi con Database di Azure per MySQL - Server flessibile usando l'interfaccia della riga di comando di Azure

Questa guida introduttiva illustra come connettersi a Database di Azure per MySQL server flessibile usando l'interfaccia della riga di comando di Azure con az mysql flexible-server connect ed eseguire una singola query o un file SQL con il az mysql flexible-server execute comando . Questo comando consente di testare la connettività al server di database ed eseguire query. È anche possibile eseguire più query usando la modalità interattiva.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva.

Se non si dispone di una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare. Attualmente, con un account gratuito di Azure, è possibile provare il server flessibile di Database MySQL di Azure gratuitamente per 12 mesi. Per altre informazioni, vedere Usare un account gratuito di Azure per provare gratuitamente Database di Azure per MySQL - Server flessibile.

  • Installare l'interfaccia della riga di comando di Azure più recente (2.20.0 o versione successiva)
  • Accedere con l'interfaccia della riga di comando di Azure con il az login comando
  • Attivare la persistenza dei parametri con az config param-persist on. La persistenza dei parametri consente di usare il contesto locale senza dover ripetere numerosi argomenti, ad esempio il gruppo di risorse o la posizione.

Creare un server flessibile MySQL

La prima cosa da creare è un'istanza del server flessibile gestita Database di Azure per MySQL. In Azure Cloud Shell eseguire lo script seguente e prendere nota del nome del server, del nome utente e della password generati da questo comando.

az mysql flexible-server create --public-access <your-ip-address>

È possibile specificare altri argomenti per questo comando per personalizzarlo. Vedere tutti gli argomenti per az mysql flexible-server create.

Creare un database

Eseguire il comando seguente per creare un database, newdatabase se non ne è già stato creato uno.

az mysql flexible-server db create -d newdatabase

Visualizzare tutti gli argomenti

È possibile visualizzare tutti gli argomenti per questo comando con l'argomento --help.

az mysql flexible-server connect --help

Testare la connessione al server di database

Eseguire lo script seguente per testare e convalidare la connessione al database dall'ambiente di sviluppo.

az mysql flexible-server connect -n <servername> -u <username> -p <password> -d <databasename>

Esempio:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase

Verrà visualizzato l'output seguente per la connessione riuscita:

Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Connecting to newdatabase database.
Successfully connected to mysqldemoserver1.

Se la connessione non è riuscita, provare queste soluzioni:

  • Controllare se la porta 3306 è aperta nel computer client.
  • Se il nome utente e la password dell'amministratore del server sono corretti
  • Se è stata configurata la regola del firewall per il computer client
  • Se il server è stato configurato con accesso privato nella rete virtuale, assicurarsi che il computer client si trovi nella stessa rete virtuale.

Eseguire più query usando la modalità interattiva

È possibile eseguire più query usando la modalità interattiva. Per abilitare la modalità interattiva, eseguire il comando seguente

az mysql flexible-server connect -n <server-name> -u <username> -p <password> --interactive

Esempio:

az mysql flexible-server connect -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase --interactive

È possibile visualizzare l'esperienza della shell MySQL come illustrato di seguito:

Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Password:
mysql 5.7.29-log
mycli 1.22.2
Chat: https://gitter.im/dbcli/mycli
Mail: https://groups.google.com/forum/#!forum/mycli-users
Home: http://mycli.net
Thanks to the contributor - Martijn Engler
newdatabase> CREATE TABLE table1 (id int NOT NULL, val int,txt varchar(200));
Query OK, 0 rows affected
Time: 2.290s
newdatabase1> INSERT INTO table1 values (1,100,'text1');
Query OK, 1 row affected
Time: 0.199s
newdatabase1> SELECT * FROM table1;
+----+-----+-------+
| id | val | txt |
| +----+-----+-------+ |
| 1 | 100 | text1 |
| +----+-----+-------+ |
| 1 row in set |
| Time: 0.149s |
| newdatabase>exit; |
Goodbye!

Eseguire una singola query

Eseguire il comando seguente per eseguire una singola query usando --querytext l'argomento . -q

az mysql flexible-server execute -n <server-name> -u <username> -p "<password>" -d <database-name> --querytext "<query text>"

Esempio:

az mysql flexible-server execute -n mysqldemoserver1 -u dbuser -p "dbpassword" -d newdatabase -q "select * from table1;" --output table

È possibile visualizzare un output come illustrato di seguito:

Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Successfully connected to mysqldemoserver1.
Ran Database Query: 'select * from table1;'
Retrieving first 30 rows of query output, if applicable.
Closed the connection to mysqldemoserver1
Txt    Val
-----  -----
test   200
test   200
test   200
test   200
test   200
test   200
test   200

Eseguire il file SQL

È possibile eseguire un file SQL con il comando usando --file-path l'argomento . -q

az mysql flexible-server execute -n <server-name> -u <username> -p "<password>" -d <database-name> --file-path "<file-path>"

Esempio:

az mysql flexible-server execute -n mysqldemoserver -u dbuser -p "dbpassword" -d flexibleserverdb -f "./test.sql"

È possibile visualizzare un output come illustrato di seguito:

Command group 'mysql flexible-server' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Running sql file '.\test.sql'...
Successfully executed the file.
Closed the connection to mysqldemoserver.