Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de Mes SQL bases de données à l'aide de l'extension mysql_fdw
Pour accéder à une base de données SQL compatible My depuis votre , vous pouvez installer et utiliser l'extension. mysql_fdw
Ce wrapper de données étrangères vous permet de travailler avec RDS MySQL, Aurora MySQL, MariaDB et d'autres bases de données compatibles avec My. SQL La connexion entre le cluster de SQL base de données Aurora Postgre RDS et la SQL base de données My Database est cryptée au mieux, en fonction des configurations du client et du serveur. Cependant, vous pouvez imposer le chiffrement si vous le souhaitez. Pour de plus amples informations, veuillez consulter Utilisation du chiffrement en transit avec l'extension.
L'mysql_fdw
extension est prise en charge sur Amazon Aurora Postgre SQL versions 15.4, 14.9, 13.12, 12.16, Amazon RDS , 13.6 et supérieures. Il prend en charge les sélections, les insertions, les mises à jour et les suppressions RDS depuis une SQL base de données Postgre vers des tables d'une instance de base de données SQL compatible My.
Rubriques
Configuration de votre SQL base de données Aurora Postgre SQL afin d'utiliser l'extension mysql_fdw
La configuration de l'mysql_fdw
extension sur votre instance de SQLbase de données Aurora Postgre RDS implique de charger l'extension dans votre instance de base de données de cluster de My SQL DB. Pour cette tâche, vous devez disposer des informations suivantes concernant l'instance My SQL DB :
Nom d'hôte ou point de terminaison. Pour un cluster Aurora My SQL DB RDS , vous pouvez trouver le point de terminaison à l'aide de la console. Sélectionnez l'onglet Connectivité et sécurité et regardez dans la section « Point de terminaison et port ».
Numéro de port. Le numéro de port par défaut pour My SQL est 3306.
Nom du moteur de la base de données. L'identifiant de la base de données.
Vous devez également fournir un accès au groupe de sécurité ou à la liste de contrôle d'accès (ACL) pour le SQL port My, 3306. Le cluster de SQLbase de données Aurora Postgre, le cluster de SQL base de données Aurora My RDS doivent tous deux accéder au port 3306. Si l'accès n'est pas configuré correctement, lorsque vous essayez de vous connecter à la table My SQL -compatible, un message d'erreur semblable au suivant s'affiche :
ERROR: failed to connect to MySQL: Can't connect to MySQL server on 'hostname
.aws-region
.rds.amazonaws.com:3306' (110)
Dans la procédure suivante, vous (en tant que compte rds_superuser
) créez le serveur externe. Vous accordez ensuite l'accès au serveur externe à des utilisateurs spécifiques. Ces utilisateurs créent ensuite leurs propres mappages vers les comptes My SQL user appropriés pour travailler avec l'instance My SQL DB.
Pour utiliser mysql_fdw pour accéder à un serveur My database SQL
Connectez-vous à votre SQL instance de base de données Postgre à l'aide d'un compte doté du
rds_superuser
rôle. Si vous avez accepté les valeurs par défaut lorsque vous avez créé votre cluster de SQL base de données Aurora Postgre RDS , le nom d'utilisateur estpostgres
et vous pouvez vous connecter à l'aide de l'outil de ligne depsql
commande comme suit :psql --host=
your-DB-instance
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres –-passwordInstallez l'extension
mysql_fdw
comme suit :postgres=>
CREATE EXTENSION mysql_fdw;
CREATE EXTENSION
Une fois l'extension installée sur votre cluster de SQL base de données Aurora Postgre RDS , vous configurez le serveur étranger qui fournit la connexion à une base de données MySQL.
Pour créer le serveur externe
Effectuez ces tâches sur le cluster de SQL base de données Aurora Postgre RDS Les étapes supposent que vous êtes connecté en tant qu'utilisateur avec des privilèges rds_superuser
, tels que postgres
.
Créez un serveur étranger dans le cluster de SQL base de données Aurora Postgre RDS
postgres=>
CREATE SERVER
mysql-db
FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'db-name.111122223333
.aws-region
.rds.amazonaws.com', port '3306');CREATE SERVER
Accordez aux utilisateurs appropriés l'accès au serveur externe. Il doit s'agir d'utilisateurs non administrateurs, c'est-à-dire d'utilisateurs sans rôle
rds_superuser
.postgres=>
GRANT USAGE ON FOREIGN SERVER
mysql-db
touser1
;GRANT
SQLLes utilisateurs de Postgre créent et gèrent leurs propres connexions à la SQL base de données My via le serveur étranger.
Exemple : utilisation d'une SQL base de données Aurora My SQL RDS depuis Aurora Postgre SQL Postgre SQL
Supposons que vous disposiez d'une table simple sur une instance de base de données Aurora Postgre RDS pour SQL instance . Vos SQL utilisateurs d'Aurora Postgre SQL RDS souhaitent interroger (SELECT
), INSERT
UPDATE
, et DELETE
les éléments de cette table. Supposons que l'mysql_fdw
extension ait été créée sur votre SQL instance de base de données RDS for Postgre, comme indiqué dans la procédure précédente. Après vous être connecté à l'SQLinstance de base de données RDS for Postgre en tant qu'utilisateur disposant de rds_superuser
privilèges, vous pouvez suivre les étapes suivantes.
Sur l'instance de SQLbase de données Aurora Postgre RDS pour instance , créez un serveur étranger :
test=>
CREATE SERVER
mysqldb
FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'your-DB
.aws-region
.rds.amazonaws.com', port '3306');CREATE SERVER
Accordez l'utilisation à un utilisateur dépourvu d'autorisations
rds_superuser
, par exempleuser1
:test=>
GRANT USAGE ON FOREIGN SERVER mysqldb TO user1;
GRANT
Connect en tant que
user1
, puis créez un mappage vers le My SQL user :test=>
CREATE USER MAPPING FOR
user1
SERVER mysqldb OPTIONS (username 'myuser
', password 'mypassword
');CREATE USER MAPPING
Créez une table étrangère liée à la SQL table Ma table :
test=>
CREATE FOREIGN TABLE
mytab
(a int, b text) SERVER mysqldb OPTIONS (dbname 'test', table_name '');CREATE FOREIGN TABLE
Exécutez une requête simple dans la table externe :
test=>
SELECT * FROM mytab;
a | b ---+------- 1 | apple (1 row)
Vous pouvez ajouter, modifier et supprimer des données dans le SQL tableau Mon. Par exemple :
test=>
INSERT INTO mytab values (2, 'mango');
INSERT 0 1
Exécutez à nouveau la requête
SELECT
pour voir les résultats :test=>
SELECT * FROM mytab ORDER BY 1;
a | b ---+------- 1 | apple 2 | mango (2 rows)
Utilisation du chiffrement en transit avec l'extension
La connexion à My SQL depuis Aurora Postgre SQL RDS utilise le chiffrement en transit (TLS/SSL) par défaut. Toutefois, la connexion redevient non chiffrée lorsque la configuration du client et du serveur diffère. Vous pouvez appliquer le chiffrement à toutes les connexions sortantes en spécifiant l'REQUIRE SSL
option RDS pour Mes comptes SQL utilisateurs. Cette même approche fonctionne également pour les comptes utilisateur MariaDB et SQL Aurora My.
Pour Mes comptes SQL utilisateurs configurés pourREQUIRE SSL
, la tentative de connexion échoue si une connexion sécurisée ne peut pas être établie.
Pour appliquer le chiffrement aux comptes utilisateur existants SQL de Ma base de données, vous pouvez utiliser la ALTER USER
commande. La syntaxe varie en fonction de la SQL version My, comme indiqué dans le tableau suivant. Pour plus d'informations, reportez-vous ALTERUSER
SQL5,7 mai, SQL 8,0 mai | Mon SQL 5.6 |
---|---|
|
|
Pour plus d'informations sur l'extension mysql_fdw
, consultez la documentation mysql_fdw