Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Lavorare con i miei SQL database utilizzando l'estensione mysql_fdw
Per accedere a un database SQL compatibile con My dal RDScluster , puoi installare e utilizzare l'estensione. mysql_fdw Questo wrapper di dati esterni ti consente di lavorare con RDS My, SQL Aurora My, SQL MariaDB e altri database compatibili con My. SQL La connessione dal per l'istanza Postgre SQL DB al SQL database My viene crittografata al meglio, a seconda delle configurazioni del client e del server. Tuttavia, se lo si desidera, è possibile imporre l'utilizzo della crittografia. Per ulteriori informazioni, consulta Utilizzo della crittografia in transito con l'estensione.
L'mysql_fdwestensione è supportata nelle per SQL Postgre. Supporta selezioni, inserimenti, aggiornamenti ed eliminazioni da e per Postgre DB in tabelle su un'istanza di database compatibile con My. RDS SQL SQL
Argomenti
Configurazione di DB per utilizzare l'estensione mysql_fdw SQL
La configurazione dell'mysql_fdwestensione sul Postgre prevede il caricamento dell'estensione nell'istanza SQL DB del e quindi la creazione del punto di connessione all'istanza My DB. SQL A tale scopo, è necessario disporre dei seguenti dettagli sull'istanza My DB: SQL
Nome host o endpoint. Per un per un'istanza My SQL DB, puoi trovare l'endpoint utilizzando la Console. Scegliere la scheda Connectivity & security (Connettività e sicurezza) e cercare nella sezione Endpoint and port (Endpoint e porta).
Numero della porta. Il numero di porta predefinito per My SQL è 3306.
Nome del database. L'identificatore del database.
È inoltre necessario fornire l'accesso al gruppo di sicurezza o all'elenco di controllo degli accessi (ACL) per la SQL porta My, 3306. Sia il cluster Postgre e l'istanza RDS RDS for My SQL SQL DB devono accedere alla porta 3306. Se l'accesso non è configurato correttamente, quando provi a connetterti a My SQL -compatible table viene visualizzato un messaggio di errore simile al seguente:
ERROR: failed to connect to MySQL: Can't connect to MySQL server on 'hostname.aws-region.rds.amazonaws.com:3306' (110)
Nella seguente procedura, l'utente (utilizzando l'account rds_superuser) crea il server esterno. Quindi concede l'accesso al server esterno a specifici utenti. Questi utenti creano quindi le proprie mappature sugli account SQL utente My appropriati per lavorare con l'istanza My SQL DB.
Per utilizzare mysql_fdw per accedere a un server di database My SQL
Connect alla tua istanza Postgree SQL DB usando un account con il
rds_superuserruolo. Se hai accettato le impostazioni predefinite quando hai creato il , il nome utente è e SQL puoi connetterti utilizzando lo strumento dapostgresriga di comando come segue:psqlpsql --host=your-DB-instance.aws-region.rds.amazonaws.com --port=5432 --username=postgres –-passwordInstallare l'estensione
mysql_fdwcome segue:postgres=>CREATE EXTENSION mysql_fdw;CREATE EXTENSION
Dopo aver installato l'estensione sul per l'istanza Postgre SQL DB, si configura il server esterno che fornisce la connessione a un database My. SQL
Per creare il server esterno
Esegui queste attività sul . SQL La procedura presuppone che l'utente sia connesso come utente con i privilegi di rds_superuser, come postgres.
Crea un server esterno nel : SQL
postgres=>CREATE SERVERmysql-dbFOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'db-name.111122223333.aws-region.rds.amazonaws.com', port '3306');CREATE SERVERConcedere agli utenti appropriati l'accesso al server esterno. Questi dovrebbero essere utenti non amministratori, cioè utenti senza il ruolo
rds_superuser.postgres=>GRANT USAGE ON FOREIGN SERVERmysql-dbtouser1;GRANT
SQLGli utenti Postgre creano e gestiscono le proprie connessioni al database My tramite il server esterno. SQL
Supponiamo di avere una tabella semplice su un'istanza SQL SQLGli utenti di per Postgre vogliono interrogare (SELECT) INSERTUPDATE, e gli elementi su quella tabella. DELETE Si supponga che l'mysql_fdwestensione sia stata creata sulla propria istanza SQL DB RDS for Postgre, come descritto nella procedura precedente. Dopo esserti connesso all'istanza SQL DB RDS for Postgre come utente con rds_superuser privilegi, puoi procedere con i seguenti passaggi.
Sull'istanza Postgre, crea un SQL server esterno:
test=>CREATE SERVERmysqldbFOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'your-DB.aws-region.rds.amazonaws.com', port '3306');CREATE SERVERConcedere l'utilizzo a un utente che non dispone delle autorizzazioni
rds_superuser, ad esempiouser1:test=>GRANT USAGE ON FOREIGN SERVER mysqldb TO user1;GRANTConnect as
user1, quindi crea una mappatura per l'SQLutente My:test=>CREATE USER MAPPING FORuser1SERVER mysqldb OPTIONS (username 'myuser', password 'mypassword');CREATE USER MAPPINGCrea una tabella esterna collegata alla SQL tabella My:
test=>CREATE FOREIGN TABLEmytab(a int, b text) SERVER mysqldb OPTIONS (dbname 'test', table_name '');CREATE FOREIGN TABLEEseguire una semplice query sulla tabella esterna:
test=>SELECT * FROM mytab;a | b ---+------- 1 | apple (1 row)È possibile aggiungere, modificare e rimuovere dati dalla SQL tabella My. Per esempio:
test=>INSERT INTO mytab values (2, 'mango');INSERT 0 1Eseguire nuovamente la query
SELECTper visualizzare i risultati:test=>SELECT * FROM mytab ORDER BY 1;a | b ---+------- 1 | apple 2 | mango (2 rows)
Utilizzo della crittografia in transito con l'estensione
La connessione a My SQL da utilizza la crittografia in transito (/) per impostazione predefinita. TLS SSL Tuttavia, la connessione torna a essere non crittografata quando la configurazione di client e server differiscono. È possibile applicare la crittografia per tutte le connessioni in uscita specificando l'opzione per i REQUIRE SSL miei account utente. RDS SQL Questo stesso approccio funziona anche per gli account utente MariadB e Aurora MySQL.
Per i miei account SQL utente configurati suREQUIRE SSL, il tentativo di connessione fallisce se non è possibile stabilire una connessione sicura.
Per applicare la crittografia per gli account utente esistenti di My SQL database, puoi utilizzare il ALTER USER comando. La sintassi varia a seconda della SQL versione My, come illustrato nella tabella seguente. Per ulteriori informazioni, vedere ALTERUSER
| My SQL 5.7, My 8.0 SQL | Il mio 5.6 SQL |
|---|---|
|
|
|
Per ulteriori informazioni sull'estensione mysql_fdw, consultare la documentazione di mysql_fdw