Как показать список всех баз данных в MySQL
При администрировании серверов баз данных MySQL одна из наиболее распространенных задач, которые вам нужно будет выполнить, — это познакомиться со средой. Сюда входят такие задачи, как перечисление баз данных, находящихся на сервере, отображение таблиц конкретной базы данных или получение информации об учетных записях пользователей и их привилегиях.
В этом руководстве объясняется, как отобразить все базы данных на сервере MySQL или MariaDB через командную строку.
Показать базы данных MySQL
Самый распространенный способ получить список баз данных MySQL — это использовать клиент mysql для подключения к серверу MySQL и выполнить команду SHOW DATABASES .
Получите доступ к серверу MySQL с помощью следующей команды и при появлении запроса введите пароль пользователя MySQL:
mysql -u user -p
Если вы не установили пароль для своего пользователя MySQL, вы можете опустить переключатель -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.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Работаем с MySQL через командную строку
Если на экране появляется приветствие mysql, то всё прошло ok.
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 344 Server version: 5.5.28-0ubuntu0.12.04.3 (Ubuntu) Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Для выхода из командной строки mysql можно написать exit, в linux достаточно нажать ctrl+C. Теперь можно писать любые mysql-запросы. Чтобы запрос выполнился, в конце обязательно нужно поставит точку с запятой «;». При написании длинных запросов удобно делать enter`ом переход на следующую строку. А после полного написание запроса поставить «;» и нажать «enter».
Для работы с конкретной базой данных нужно её выбрать с помощью оператора use. Показать все базы данных:
show databases;
Результатом будет что то вроде этого:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | jeka | | linky | | mysql | | performance_schema | | phpmyadmin | | test | +--------------------+ 7 rows in set (0.00 sec)
Выбрать базу данных jeka:
mysql> use jeka Database changed
Посмотреть названия всех таблиц в конкретной базе данных (после выполнения use):
mysql> show tables;
Просмотреть структуру таблицы (имена и тип полей):
mysql> describe post_estimations; +------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------------+------+-----+---------+-------+ | post_id | int(10) unsigned | YES | MUL | NULL | | | user_id | int(10) unsigned | YES | MUL | NULL | | | estimation | float(2,1) unsigned | NO | | NULL | | | date | int(10) unsigned | NO | | NULL | | +------------+---------------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
Достать информацию о юзере с >
mysql> SELECT * FROM users WHERE > Бэкап структуры таблицы, а точнее sql-запрос на её создание
show create table table_name;
Если в конце запроса поставить не ; а \G, то результат будет показан другим образом — иногда весьма удобно, если таблица имеет много полей:
select * from update__v4_errors where >
Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:
show processlist;
Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому show processlist; актуальная команды только для нагруженных БД, в других случаях маловероятно, что команда что то покажет.
Подробнее о том, как изменять структуру mysql-таблиц (alter table).
Что делать если вижу знаки вопросов вместо текста в MySQL?
Это проблема с кодировкой. Вероятно в my.ini файле mysql-сервера не добавлено:
[mysqld] init-connect='SET NAMES utf8'
Нужно добавить в .ini файл либо выполнить в консоли команду «SET NAMES utf8», после чего во время текущей сессии отображаться русский текст в mysql-консоли будет без проблем:
mysql> set names utf8; Query OK, 0 rows affected (0.00 sec)
Как сделать бэкап базы mysql через консоль Linux?
Сделать бэкап базы database в файл dump_name.sql
mysqldump -u [username] -p [password] [database] > [dump_name.sql]
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе.
Развернуть базу из файла через командную строку
mysql -u [username] -p [password] [database] < [dump_to_restore.sql]
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_to_restore.sql] – имя файла, из которого поднимаем базу
Сделать дамп структуры одной таблицы mysql (без данных):
mysqldump -u[user] -p[password] -h[host] [database] [table_name] --no-data > /path/dump_name.sql
Например, задампим таблицу users из базы данных mydatabase:
mysqldump -uroot mydatabase users > users.dump.sql
Развернуть mysql-dump в БД с именем database_name:
mysql -uroot database_name < users.dump.sql
Ещё одна интересная штука. Выполнять из консоли, не требуется предварительно подключаться к mysql (mysql>). Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:
mysql -uroot -e 'show tables' database_name && echo done
mysql> show variables like '%incr%';
Заключение
Может показаться, что писать запросы в командной строке не удобно. Но это заблуждение. На слабых машинах phpmyadmin работает не так шустро как хотелось бы. Тем более не на всех серверах стоят морды с phpmyadmin, adminer и т.д. Linux + mysql в терминале реально повысили мою производительность.
Поисковые запросы , по которым приходили пользователи
Дата добавления: 11 лет назад
mysql
Похожий контент:
- Как обновить AI в mysql? Решено!
- Как переименовать таблицу в MySQL? Решено!
- На PHP Access denied for user 'root'@'localhost', хотя через консоль подключается 1 ответ
- mysqldump только структуры таблиц 1 ответ
- mysqldump: Got error: 1044: Access denied for user when using LOCK TABLES 1 ответ
- MySQL - изменение полей, структуры таблицы 0 комментариев
- Доступ к mysql из-вне4 комментария
- Mysql перенос таблиц из одной базы данных в другую 0 комментариев
- MacOS сбросить root пароль для MySQL 0 комментариев
- Анализ производительности MySQL с использованием performance_schema 0 комментариев
Комментарии 2
viktor 10 лет назад
Последнее время я использую Valentina Studio для работы с MySQL. Очень хороший и бесплатный инструмент, рекомендую посмотреть. http://www.valentina-db.com/en/valentina-studio-overview
root 10 лет назад
Viktor, спасибо. Судя по скринам, штука интересная.
Правда, уж больно много зависимостей она имеет.. Как решу проблему с зависимостями, отпишусь.
eugene-PC:www eugene$ eugene$ sudo rpm -ivh ~/Загрузки/vstudio_x64_5_lin.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing.
ошибка: Неудовлетворенные зависимости:
ld-linux-x86-64.so.2()(64bit) нужен для vstudio-5.3.0-2.x86_64
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) нужен для vstudio-5.3.0-2.x86_64
libc.so.6()(64bit) нужен для vstudio-5.3.0-2.x86_64
libc.so.6(GLIBC_2.2.5)(64bit) нужен для vstudio-5.3.0-2.x86_64
libc.so.6(GLIBC_2.3)(64bit) нужен для vstudio-5.3.0-2.x86_64
libc.so.6(GLIBC_2.3.3)(64bit) нужен для vstudio-5.3.0-2.x86_64
libc.so.6(GLIBC_2.3.4)(64bit) нужен для vstudio-5.3.0-2.x86_64
libc.so.6(GLIBC_2.4)(64bit) нужен для vstudio-5.3.0-2.x86_64
libdl.so.2()(64bit) нужен для vstudio-5.3.0-2.x86_64
libdl.so.2(GLIBC_2.2.5)(64bit) нужен для vstudio-5.3.0-2.x86_64
libgcc_s.so.1()(64bit) нужен для vstudio-5.3.0-2.x86_64
libgcc_s.so.1(GCC_3.0)(64bit) нужен для vstudio-5.3.0-2.x86_64
libgcc_s.so.1(GCC_3.4)(64bit) нужен для vstudio-5.3.0-2.x86_64
libgdk-x11-2.0.so.0()(64bit) нужен для vstudio-5.3.0-2.x86_64
libgdk_pixbuf-2.0.so.0()(64bit) нужен для vstudio-5.3.0-2.x86_64
libglib-2.0.so.0()(64bit) нужен для vstudio-5.3.0-2.x86_64
Как показать список всех баз данных в MySQL
В этом руководстве мы покажем вам, как отобразить список всех баз данных в системе MySQL Linux. Для тех из вас, кто не знал, MySQL — самая популярная система управления реляционными базами данных с открытым исходным кодом. Исходный код MySQL находится в свободном доступе, поскольку изначально разрабатывался как бесплатное ПО. MySQL написан на C и C ++ и совместим со всеми основными операционными системами. MySQL может использоваться для множества приложений, но чаще всего встречается в популярных стеках LAMP и LEMP .
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo ‘ к командам для получения привилегий root. Я покажу вам пошаговый список баз данных MySQL в Linux.
Показать список всех баз данных в MySQL
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt команды в терминале.
sudo apt update sudo apt upgrade
Шаг 2. Показать список всех баз данных в MySQL
Чтобы отображать базы данных в MySQL , вам необходимо войти в оболочку MySQL / MariaDB с пользователем root, как показано ниже:
$ mysql –u username –p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.8.64-MySQL-ubuntu0.20.04 (Ubuntu) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Из оболочки MySQL выполните следующую команду:
MySQL [(none)]> show databases;
+--------------------+ | Database | +--------------------+ | information_schema | | drupal | | magento | | mysql | | owncloud | | performance_schema | | wordpressdatabase | +--------------------+ 7 rows in set (0.01 sec)
Затем, если вы хотите использовать конкретную базу данных и перечислить все таблицы в ней, вы можете использовать следующие команды:
MySQL [(none)]> use mysql;
Затем выведите список доступных таблиц с помощью следующей команды:
MySQL [mysql]> show tables;
+---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | host | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | servers | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+
Если вы хотите узнать о структуре конкретной таблицы, вы можете использовать DESCRIBE инструкцию в MySQL:
MySQL [(none)]> DESCRIBE user;
Поздравляю! Вы успешно показали все базы данных MySQL. Благодарим за использование этого руководства по установке сервера MySQL в системе Ubuntu 20.04 Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт MySQL .
Как перечислить все базы данных в MySQL
Мы покажем вам, как перечислять все базы данных в MySQL. MySQL — это система управления реляционными базами данных с открытым исходным кодом, обычно используемая с веб-приложениями, такими как WordPress, Magento и т. Д. В этом уроке мы покажем вам, как перечислять все базы данных в MySQL на Linux VPS .
Прежде чем вы начнете перечислять все таблицы в MySQL, убедитесь, что у вас есть полный доступ к вашему серверу Linux, или, по крайней мере, у вас есть системный пользователь с привилегиями sudo, которые вы можете использовать для подключения к вашему серверу. После подключения к серверу через SSH выполните следующую команду, чтобы проверить, установлен ли сервер базы данных MySQL на вашем VPS, и какова версия:
mysql -V
Результат команды должен быть аналогичен выходу:
# mysql -V mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Затем, чтобы подключиться к серверу базы данных MySQL через командную строку, как пользователь root , выполните следующую команду:
mysql -u root -p
MySQL попросит вас ввести пароль для пользователя root. Введите пароль и нажмите Enter . Если вы еще не настроили пароль для пользователя root, вы можете использовать следующую команду:
mysql -u root
Конечно, всегда рекомендуется поддерживать безопасность ваших сервисов, поэтому, если вы еще не настроили пароль для root в MySQL, вы можете сделать это сейчас, используя команду mysql_secure_installation без аргументов:
mysql_secure_installation
Затем ответьте на вопросы безопасности следующим образом:
Would you like to setup VALIDATE PASSWORD plugin? Press y|Y for Yes, any other key for No: y Please set the password for root here. New password: Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y All done!
Затем подключитесь к серверу базы данных MySQL с помощью пользователя root и введите новый пароль root.
Чтобы перечислить все базы данных в MySQL, выполните следующую команду:
mysql> show databases;
Эта команда будет работать для вас независимо от того, есть ли у вас Ubuntu VPS или CentOS VPS.
Результат команды должен быть аналогичен выходу:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
Если у вас есть другие базы данных, созданные в MySQL, они будут перечислены здесь.
Затем, если вы хотите использовать определенную базу данных и перечислить все ее таблицы, вы можете использовать следующие команды:
mysql> use mysql;
Чтобы перечислить таблицы, вы можете использовать следующую команду:
mysql> show tables
Таблицы будут перечислены в следующем формате:
mysql> show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | engine_cost | | event | | func | | general_log | | gtid_executed | | help_category | | help_keyword | | help_relation | | help_topic | | host | | innodb_index_stats | | innodb_table_stats | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | server_cost | | servers | | slave_master_info | | slave_relay_log_info | | slave_worker_info | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 32 rows in set (0.00 sec)
Если вы хотите узнать о структуре конкретной таблицы, вы можете использовать инструкцию DESCRIBE в MySQL:
mysql> DESCRIBE user;
На выходе будет отображаться информация о каждом из столбцов в таблице.