Come posso sapere se un server a cui mi sto collegando è Percona o MySQL o MariaDB? Esiste un modo standard per farlo? Attualmente sto usando SHOW VERSION
per testare la versione del server, ma avrei anche bisogno di visualizzare il nome del server nell'app su cui sto lavorando.determinare se mysql o percona o mariaDB
risposta
Ricordare che "MySQL" è l'originale e gli altri sono spinoff. Ecco un po 'di codice che funziona probabilmente sempre:
version_comment REGEXP 'MariaDB' -- > Mariadb
version_comment REGEXP 'Percona' -- > Percona
else MySQL
version_comment
si può accedere tramite SHOW VARIABLES
o information_schema
.
@@version
non è affidabile perché Percona non lascia alcun indizio, anche se sospetto che il '-30.3-' sia un indizio in 5.5.31-30.3-log
.
(ho controllato 106 server.)
È possibile ottenere informazioni specifiche con:
SHOW VARIABLES LIKE '%vers%'
version
e version_comment
sono molto specifici.
sul mio server dev, 'version_comment = (Ubuntu)', 'version = 5.5.47-0ubuntu0.14.04.1'. Nessuna traccia di stringa "MySQL" ovunque. Ho esaminato tutto l'elenco 'SHOW VARIABLES' e non è apparso nulla di rilevante – Quamis
Questo potrebbe essere specifico per la distribuzione. Su Fedora vedo "MySQL Community Server (GPL)" o "MariaDB Server" per le due istanze con cui sto testando. – tadman
Sembra così, l'esempio da http://dev.mysql.com/doc/refman/5.7/en/show-variables.html afferma 'Distribuzione di origine'. – Quamis
- 1. Rimuovere completamente MariaDB o MySQL da CentOS 7 o RHEL 7
- 2. Node-mysql con mariadb
- 3. Determinare se Linux o Windows in C++
- 4. Determinare se O/S è Windows 7
- 5. C++ VS2010 determinare se Release o Debug
- 6. Installazione Percona/MySQL su Ubuntu incustodito
- 7. mysql, se non nullo, 0 o ""
- 8. Mariadb 10 Mysql Workbench Maintenace Not Supported
- 9. Come posso determinare il tipo di database mysql: se è InnoDB o MyISAM?
- 10. Come determinare se la DLL è COM o .NET?
- 11. Come determinare se sono in PowerShell o cmd?
- 12. Come determinare se "html" o "body" scorre la finestra
- 13. Come determinare se un triangolo Delaunay è interno o esterno?
- 14. Determinare se un UL ha 1 o più LI entro
- 15. Determinare se un feed è Atom o RSS
- 16. Determinare se char è un numero o una lettera
- 17. Come determinare se un'app è nativa o html5?
- 18. Determinare se le risorse DBpedia sono Città o Paesi
- 19. Determinare se compilare su Windows o altro sistema
- 20. Come determinare se un'applicazione .NET è 32 o 64 bit?
- 21. Come determinare se la pagina popup è aperta o no?
- 22. Determinare se una finestra è visibile o non utilizzare C#
- 23. Come determinare se l'account utente è abilitato o disabilitato
- 24. Determinare se un metodo è sincrono o asincrono
- 25. Determinare se una parola è un nome o meno
- 26. Modo per determinare se l'esecuzione in IDE o no?
- 27. Determinare se la porta seriale è normale COM o SPP
- 28. Determinare se il dispositivo è dotato di touchscreen o meno
- 29. Migrazione da MySQL a MariaDB e viceversa
- 30. MySQL "o" Condizione
Quindi posso presumere che Percona e MariaDB riportino sempre i loro nomi e MySQL agisca in modo diverso qui? – Quamis
La mia risposta si basa su prove empiriche. Basato sulla cronologia ... MySQL è il prodotto di base (ora di proprietà di Oracle), quindi non ha motivo di essere specifico nelle impostazioni. Gli altri sono spinoff, quindi sentono il bisogno di farlo. –
Ha senso, grazie – Quamis