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/mysqld
verlinkt sind vermag ich nicht zu sagen. Nur das die Kompatibilität schwindet weiß ich.