При администрировании серверов баз данных MySQL одна из наиболее распространенных задач, которые вам нужно будет выполнить, — это познакомиться со средой. Сюда входят такие задачи, как перечисление баз данных, находящихся на сервере, отображение таблиц конкретной базы данных или получение информации об учетных записях пользователей и их привилегиях.
В этом руководстве объясняется, как отобразить все базы данных на сервере MySQL или MariaDB через командную строку.
Содержание
Показать базы данных MySQL
Самый распространенный способ получить список баз данных MySQL — это использовать клиент mysql
для подключения к серверу MySQL и выполнить команду SHOW DATABASES
.
Получите доступ к серверу MySQL с помощью следующей команды и при появлении запроса введите пароль пользователя MySQL:
mysql -u user -p
-p
.Из оболочки MySQL выполните следующую команду:
SHOW DATABASES;
Команда напечатает список всех баз данных, для которых пользователю предоставлены какие-либо права . Результат будет примерно таким:
+--------------------+
| Database |
+--------------------+
| information_schema |
| opencart |
+--------------------+
2 rows in set (0.00 sec)
Еще одна команда, которую вы можете использовать для SHOW SCHEMAS
списка баз данных, — это SHOW SCHEMAS
которая является синонимом команды SHOW DATABASES
:
SHOW SCHEMAS;
Вывод будет таким же, как при использовании команды SHOW DATABASES
:
+--------------------+
| Database |
+--------------------+
| information_schema |
| opencart |
+--------------------+
2 rows in set (0.00 sec)
Показать все базы данных MySQL
Чтобы вывести список всех баз данных на сервере MySQL, вам необходимо войти в систему как пользователь, имеющий доступ ко всем базам данных, по умолчанию это пользователь root MySQL или установить глобальную привилегию SHOW DATABASES
.
Войдите в систему как root-пользователь MySQL:
mysql -u user -p
Запустите команду SHOW DATABASES
:
SHOW DATABASES;
Вы увидите список всех баз данных на сервере MySQL:
+--------------------+
| Databases |
+--------------------+
| information_schema |
| database_name |
| mysql |
| opencart |
| wordpress |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.00 sec)
Фильтрация результата
Предложение LIKE
можно использовать для фильтрации вывода команды SHOW DATABASES
соответствии с определенным шаблоном.
SHOW DATABASES LIKE pattern;
Например, следующий оператор вернет все базы данных, имена которых начинаются с 'open':
SHOW DATABASES LIKE 'open%';
+--------------------+
| Database |
+--------------------+
| opencart |
+--------------------+
1 rows in set (0.00 sec)
%
) означает ноль, один или несколько символов.Если вы хотите выполнить более сложный поиск, вы запрашиваете таблицу schemata
из базы данных information_schema
которая содержит информацию обо всех базах данных.
Следующая инструкция предоставит вам список всех баз данных, которые начинаются с «open» или «word»:
SELECT schema_name
FROM information_schema.schemata
WHERE schema_name LIKE 'open%' OR
schema_name LIKE 'word%';
+--------------------+
| Database |
+--------------------+
| opencart |
| wordpress |
+--------------------+
2 rows in set (0.00 sec)
Показать базы данных MySQL из командной строки
Чтобы получить список баз данных без входа в оболочку MySQL, вы можете использовать либо команду mysql
с параметром -e
что означает выполнение, либо mysqlshow
который отображает информацию о базах данных и таблицах.
Это особенно полезно, когда вы хотите работать со своими базами данных MySQL с помощью сценариев оболочки.
Выполните следующую команду на своем терминале, чтобы отобразить список всех баз данных:
mysql -u user -p -e 'show databases;'
+--------------------+
| Database |
+--------------------+
| information_schema |
| opencart |
+--------------------+
Вот пример использования команды mysqlshow
:
mysqlshow -u user -p
Вывод будет идентичен выводу предыдущей команды.
Если вы хотите отфильтровать вывод, вы можете использовать команду grep .
Выводы
Вы узнали, как получить список всех баз данных на вашем сервере MySQL.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.