Ist es möglich, auf einem schreibgeschützten Slave eine andere Indizierung einzurichten als auf dem Master? Grundsätzlich scheint dies angesichts der unterschiedlichen Anforderungen der beiden Systeme sinnvoll zu sein, aber ich möchte sicherstellen, dass es funktioniert und keine Probleme verursacht.Können Sie Tabellen auf Master und Slave (MySQL) anders indizieren?
Antwort
Ich glaube schon. Nachdem die Replikation funktioniert, können Sie die Indizes auf dem Slave löschen und die gewünschten Indizes erstellen, die dies tun sollen. Da MySQL Anweisungen repliziert und keine Daten (zumindest standardmäßig), solange das SQL, das zum Einfügen oder Aktualisieren oder Auswählen aus der Tabelle erforderlich ist, nicht geändert werden muss, sollte es dies nicht bemerken.
Jetzt gibt es natürlich Nachteile. Wenn Sie einen eindeutigen Schlüssel erstellen, der nicht auf dem Master ist, könnten Sie Daten auf dem Master einfügen, die nicht auf dem Slave eingefügt werden können. Wenn ein Update durchgeführt wird, das einen Index verwendet, kann es schnell auf dem Master laufen, aber einen Tabellen-Scan auf dem Slave verursachen (da Sie keinen Index griffbereit haben).
Und wenn irgendwelche DDL-Änderungen jemals auf dem Master passieren (zum Beispiel einen Index zu ändern), die an den Slave übergeben werden und der neue Index wird auch dort erstellt, auch wenn Sie nicht wollen.
Sicher, ich denke, es ist sogar eine übliche Praxis, InnoDB-Tabellen in MyISAM-Tabellen auf dem Slave zu replizieren, um Volltextindizes hinzufügen zu können.
Sicher. Das mache ich die ganze Zeit. Probleme Ich habe laufen in:
- Referenzierung Indizes über
FORCE/USE/IGNORE INDEX
inSELECTS
Fehler inALTER
statments auf dem Master - Referenzierung Indizes aus kann die Replikation
- brechen Fügt einen weiteren Schritt einen Sklaven zur Förderung der Master zu sein im Notfall
- Wenn Sie Anweisung basierte Replikation (die Norm) verwenden, und Sie spielen um mit
UNIQUE
Indizes, alleINSERT... ON DUPLICATE KEY
,INSERT IGNORE
oderREPLACE
statments treiben verursachen extreme Daten/d ivergence - Performance-Unterschiede (gut und schlecht)
Wie ändern Sie den Slave-Tisch? – jeffry
- 1. In Bezug auf Mysql Master-Slave-Konfiguration
- 2. MySQL-Cluster (Master/Slave) und Hibernate
- 3. In Bezug auf Mysql-Master-Slave-Konfiguration
- 4. Master- und Slave-Datenbanken
- 5. mysql Schema ändert sich mit Master & Slave
- 6. die Konfiguration jenkins Master-Slave in dem Master auf Linux und Slave auf Windows-Rechner
- 7. Master-Master vs Master-Slave-Datenbankarchitektur?
- 8. Master-Slave-Design-Problem
- 9. php Zugriff auf mongodb Master/Slave Zugriff
- 10. Mysql trigger Ereignisse in einer Reihe Master-Slave-Replikation auf der Slave-Seite
- 11. Jenkins Master-Slave-Konfiguration
- 12. Modbuspal Slave und Jamod als TCP-Master
- 13. Arduino HC-05 Master/Slave
- 14. Alternative zu "Master" und "Slave" in Entity-Beziehung?
- 15. mysql Master/Slave-Replikationsproblem: PoolableConnectionFactory kann nicht erstellt werden
- 16. mysql Slave-Datenbankproblem
- 17. Können Mesos 'Master' und 'Slave' Knoten auf den gleichen Maschinen eingesetzt werden?
- 18. Wie kann MySQL-Master-Slave-Replikation extrem gesteigert werden?
- 19. Mysql Master/Slave-Replikation .Connect, um auch für Leseanfragen zu meistern? (Tut Driver "ping" Master-Slave vor zu gehen?)
- 20. Jenkins-Slave vom Master neu starten
- 21. Skip einige Spalten Replikation auf Slave in MySQL
- 22. Transport Endpunkt nicht verbunden - Mesos Slave/Master
- 23. Bucardo Replikation von Slave zu Master
- 24. Mesos: neuen Slave zum Master hinzufügen, ohne Master zu stoppen?
- 25. WCF als Master-Slave-Befehlsmodell verwenden
- 26. I2C Bus Multi Master Multi Slave
- 27. Jenkins Slave/Master-Setup, um Ergebnisdateien abzurufen
- 28. 2 Kunden angelegt mit Master-Slave konfiguriert
- 29. Jenkins Master/Slave mit ASP.NET MVC
- 30. Slave konnte nicht beim Master registriert werden
Wie ändern Sie die Slave-Tabelle? – jeffry