Получить версию бд можно как из консоли, так и средствами языка mySQL.
Версия из консоли UNIX
Тут все просто. Получаем версию из консоли.
1 2 3 |
mysql -V выведет что то вроде: mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1 |
Версия из SQL консоли
Как получить версию mySQL не из unix консоли, а средствами самого sql. Рассмотрим полезные команды.
Во первых, можно обратиться к значению переменной @@version;
1 |
SELECT @@version; |
Если у вас используется продукт от Oracle, т.е. оригинальная mySQL, то вы получите однозначное значение версии. Но из-за вопросов лицензирования сейчас широко используется MariaDB, которая обеспечивает точное соответствие с API и командами MySQL, но распространяется под GNU GPL (лицензия на свободное программное обеспечение).
Потому вы скорее всего получите следующий результат:
1 2 3 4 5 6 |
+-----------------+ | @@version | +-----------------+ | 10.0.24-MariaDB | +-----------------+ 1 row in set (0.00 sec) |
Тоже самое вы получите и выполнив команду:
1 |
SELECT version(); |
Очевидно это не то, что нам нужно, т.к. не ясно какая версия у mySQL.
Тогда можно попробовать команду статуса или прочитать глобальные переменные:
1 |
status; |
Первой строкой в ответе будет показана версия (вроде такой):
1 |
mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1 |
Здесь 5.5.56 — это как раз соответствие с оракловcкой версией mysql. После 5.5-й версии MariaDB стали нумеровать свои версии иначе, чем MySQL, т.к. они поддерживают не все новые фичи которые реализованы в MySQL 5.6.
Давайте заглянем еще и в глобальные переменные:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
MariaDB [(none)]> show global variables like '%vers%'; +---------------------------+-----------------+ | Variable_name | Value | +---------------------------+-----------------+ | innodb_version | 5.6.28-76.1 | | protocol_version | 10 | | slave_type_conversions | | | thread_pool_oversubscribe | 3 | | version | 10.0.24-MariaDB | | version_comment | MariaDB Server | | version_compile_machine | x86_64 | | version_compile_os | Linux | | version_malloc_library | system | +---------------------------+-----------------+ 9 rows in set (0.00 sec) |
Здесь версия mysql никак не обнаруживается, но зато мы можем узнать версию innodb.