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_fdw
estensione è 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_fdw
estensione 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_superuser
ruolo. Se hai accettato le impostazioni predefinite quando hai creato il , il nome utente è e SQL puoi connetterti utilizzando lo strumento dapostgres
riga di comando come segue:psql
psql --host=
your-DB-instance
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres –-passwordInstallare l'estensione
mysql_fdw
come 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 SERVER
mysql-db
FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'db-name.111122223333
.aws-region
.rds.amazonaws.com', port '3306');CREATE SERVER
Concedere 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 SERVER
mysql-db
touser1
;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
) INSERT
UPDATE
, e gli elementi su quella tabella. DELETE
Si supponga che l'mysql_fdw
estensione 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 SERVER
mysqldb
FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'your-DB
.aws-region
.rds.amazonaws.com', port '3306');CREATE SERVER
Concedere l'utilizzo a un utente che non dispone delle autorizzazioni
rds_superuser
, ad esempiouser1
:test=>
GRANT USAGE ON FOREIGN SERVER mysqldb TO user1;
GRANT
Connect as
user1
, quindi crea una mappatura per l'SQLutente My:test=>
CREATE USER MAPPING FOR
user1
SERVER mysqldb OPTIONS (username 'myuser
', password 'mypassword
');CREATE USER MAPPING
Crea una tabella esterna collegata alla SQL tabella My:
test=>
CREATE FOREIGN TABLE
mytab
(a int, b text) SERVER mysqldb OPTIONS (dbname 'test', table_name '');CREATE FOREIGN TABLE
Eseguire 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 1
Eseguire nuovamente la query
SELECT
per 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