J'envisage de passer de Firebird où j'utilise une réplication manuelle à MySQL et sa solution de réplication intégrée. J'ai 4 départements avec des connexions réseau sporadiques. Chacun doit avoir sa copie de la base de données, et doit pouvoir mettre à jour la base de données, donc j'ai décidé que l'utilisation de la méthode de réplication en anneau (A-> B, B-> C, C-> D, D-> A) être le meilleur (corrigez-moi si je me trompe!). Cependant, alors que 3 des départements ont une connexion publique au monde extérieur, un est derrière NAT et je n'ai aucune chance de transférer des ports - donc, fondamentalement, je ne peux que me connecter au monde extérieur, mais je ne peux pas accepter les appels entrants les liaisons. Est-il possible de configurer la réplication de type anneau avec cette limitation?Réplication en anneau MySQL derrière le NAT
Répondre
Vous pouvez utiliser un tunnel inversé pour accéder à l'hôte derrière le NAT. Si l'hôte derrière le NAT est l'hôte D et l'hôte C est accessible à partir de l'Internet avec un nom de hostc.com par exemple, la commande de tunnel inverse serait:
ssh -nNT -o TCPKeepAlive=yes -R <remote port>:localhost:<local port> [email protected]
<remote port>
peut être un port non privilégié. Si votre <remote port>
-8022 et <local port>
à 22, puis en faisant la commande:
ssh localhost -p 8022
sur l'hôte C vous permettrait de vous connecter au port 22 (ssh) sur l'hôte D.
De la même manière vous pouvez mettre en tunnel n'importe quel port local (web, mysql) vers n'importe quel port distant. La partie difficile est de garder la connexion en place (-o TCPKeepAlive = oui devrait y aider) et de se reconnecter automatiquement, un script bash qui pings périodiquement pourrait fonctionner ou un travail cron qui tue le processus SSH et le déclenche à nouveau. En ce qui concerne l'efficacité d'une configuration de réplication de style anneau, je n'aurais pas la moindre idée :(
- 1. Scénario de réplication MySql
- 2. Réplication mysql entrée dupliquée
- 3. Réplication MySQL Trigger & Procédure stockée
- 4. Comment booster la réplication maître-esclave MySQL à l'extrême?
- 5. Utilisation du partage DAAP sur le NAT
- 6. Réplication basée sur une requête MySQL
- 7. Réplication MySQL robuste tolérante aux pannes
- 8. La réplication MySQL ne fonctionne pas bien que mysql l'indique
- 9. Est-il possible d'obtenir l'adresse IP distante dans le fichier journal Apache derrière un pare-feu NAT?
- 10. Comment faire MPMoviePlayerController respecter le commutateur anneau/silencieux?
- 11. réplication
- 12. MySQL triggers + réplication avec plusieurs bases de données
- 13. Pouvez-vous réaliser une communication bidirectionnelle cryptée en utilisant WCF lorsque le client peut être derrière un proxy, un pare-feu ou un NAT?
- 14. Comment faire pour qu'un serveur TCP fonctionne derrière un routeur (NAT) sans aucune configuration de redirection requise
- 15. Emacs derrière le proxy HTTP
- 16. CSS, le menu derrière div
- 17. contrôles dans le code derrière
- 18. Réplication Postgres
- 19. Pour obtenir valeur définie en javascript dans le code derrière
- 20. XPath dans le code C# derrière WPF
- 21. Le code derrière pour une page DNN
- 22. données Silverlight liant dans le code derrière
- 23. Incertitude dans la réplication
- 24. Masquage du séparateur UITableView derrière le contenuView
- 25. WPF MVVM + UserControl avec le code derrière
- 26. Réplication SQL Server
- 27. API de réplication Outlook
- 28. En ce qui concerne la configuration maître-esclave Mysql
- 29. Charger le code javascript après le chargement du code derrière
- 30. Appel d'une fonction dans le code de silverlight derrière un code aspx derrière