Introduction
La base de données implique souvent des scénarios dans lesquels les données résident sur plusieurs systèmes. Pour surmonter ce défi, des fournisseurs comme SQL Server et Oracle introduisent respectivement des concepts tels que Linked Server et dblink. Mais que se passe-t-il si vous utilisez MySQL ? Existe-t-il une fonctionnalité équivalente disponible ?
Le moteur FEDERATED de MySQL : comprendre le concept
Bien que MySQL ne prenne pas en charge nativement une réplique exacte du serveur lié de SQL Server ou du dblink d'Oracle , le moteur FEDERATED offre des fonctionnalités similaires. Le moteur FEDERATED vous permet d'accéder aux tables d'autres instances MySQL comme s'il s'agissait de tables locales.
Configuration du moteur FEDERATED (MySQL 5.5)
[mysqld] federated = ON
CREATE FOREIGN DATA SOURCE example_ds OPTIONS ( LINK 'mysql://user:pass@host:port/dbname' );
CREATE TABLE example_local LIKE example_remote;
À l'aide de la table FEDERATED
Une fois configurée, vous pouvez accéder à la table MySQL distante via la table wrapper locale comme s'il s'agissait d'une table locale. Par exemple :
SELECT * FROM example_local;
Limitations
Bien que le moteur FEDERATED fournisse des fonctionnalités de type serveur lié, il présente des limites :
Alternative : proxy MySQL
Si votre besoin implique une connexion à des sources de données non MySQL, pensez au proxy MySQL. Bien qu'il ne suive pas la même architecture que Linked Server/dblink, il fournit des solutions à des problèmes de connectivité similaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!