Raketenwilli: „mysql --version“ liefert NICHT das, was Du willst

Beitrag lesen

MariaDB [(none)]> select @@version;
+----------------------------------+
| @@version                        |
+----------------------------------+
| 10.6.12-MariaDB-0ubuntu0.22.04.1 |
+----------------------------------+
1 row in set (0,001 sec)

== Version des Servers

Diesen Abruf kannst Du verwenden, wenn Du innerhalb eines Skriptes (Python, PHP, NodeJS, ...) die Version des Servers fest stellen willst, um ggf. für den Server optimierte Abfragen verwenden zu können.

Du schreibst nun:

 mysql --version
mysql  Ver 8.0.34-26 for Linux on x86_64

== Version des Clients (Das ist im vorliegenden Fall NICHT das, was Du willst!)

Die korrekten Varianten des Abrufs der Version des Mysql/Mariadb-Servers in einer Shell des Betriebssystems lauten:

mysqld --version
mysqld  Ver 10.6.12-MariaDB-0ubuntu0.22.04.1 for debian-linux-gnu on x86_64 (Ubuntu 22.04)

oder

mariadbd --version
mariadbd  Ver 10.6.12-MariaDB-0ubuntu0.22.04.1 for debian-linux-gnu on x86_64 (Ubuntu 22.04)

Das „d“ macht also den Unterschied.

Client und Server sind verschiedene Programme. Wenn der Client und der Server nicht auf dem selben Rechner sind (und selbst dann) können sich beide stark unterscheiden, sogar Mischungen sind möglich. Client und Server sowohl von Mariadb als auch MySQL sind weitgehend (sic: weit gehend) „kreuzkompatibel“, allerdings scheinen inzwischen bei der Verbindungsaufnahme schon Warnungen auf, dass nicht alle Eigenschaften/Besonderheiten unterstützt werden wenn man den „falschen” Client benutzt. Das beginnt schon bei den Möglichkeiten der Verschlüsselung der Übertragung.

Wie lange in Ubuntu & Co. noch der Client /usr/sbin/mariadb und der Server /usr/sbin/maridbd zu ihren Pendants /usr/sbin/mysql bzw. /usr/sbin/mysqldverlinkt sind vermag ich nicht zu sagen. Nur das die Kompatibilität schwindet weiß ich.