Посмотреть пользователей mysql ubuntu

Обновлено: 21.11.2024

Название MySQL не нуждается в представлении. Большинство администраторов и пользователей баз данных хорошо осведомлены о надежности, эффективности и надежности RDBMS (системы управления реляционными базами данных).

Атрибут MySQL; надежность — это просто название, если оно не используется и не реализуется полностью. Надежность метрики безопасности MySQL зависит от нескольких административных аспектов. Одним из них является управление существующими пользователями базы данных и их индивидуальными уровнями разрешений.

Как администратор базы данных, вы хотите иметь возможность гибкого предварительного просмотра всех зарегистрированных пользователей базы данных; независимо от того, активны они или неактивны, и проверяйте их привилегии, чтобы не ставить под угрозу целостность вашей системы баз данных.

Предпосылки

  • Освоить среду командной строки Linux и быть пользователем Sudoer.
  • Используйте сервер MySQL или MariaDB в операционной системе Linux.

Приобретение MySQL компанией Oracle позволяет ей существовать как в виде программного обеспечения Community Edition, так и в виде программного обеспечения Enterprise Edition. MariaDB — это форк MySQL с открытым исходным кодом. Независимо от того, используете ли вы MariaDB или MySQL, их ручная реализация команд базы данных одинакова.

Установка сервера базы данных MySQL в Linux

В зависимости от вашего дистрибутива операционной системы Linux вы можете установить MySQL или MariaDB с помощью одной или следующих команд установки:

Установка MySQL в Linux

Установите MariaDB в Linux

Безопасный сервер базы данных MySQL в Linux

После установки вам необходимо защитить установку сервера MySQL, установив новый пароль root, удалив анонимных пользователей, отключив root-доступ, удалив тестовую базу данных и повторно загрузив привилегии.

Безопасная установка сервера MySQL

Создание учетных записей пользователей MySQL

Для того чтобы эта статья была эффективной, нам необходимо, чтобы в нашей СУБД присутствовало несколько пользователей. Синтаксис создания учетной записи пользователя MySQL следующий:

Чтобы создать пользователя базы данных, привязанного к определенному имени хоста базы данных, часть «account_name» приведенного выше синтаксиса должна выглядеть примерно так:

Если вы хотите, чтобы пользователь базы данных мог свободно подключаться к серверу БД MySQL с любого удаленного хоста/машины, используйте только:

Реализация «имя пользователя» и «имя хоста», определяемая специальными символами, должна быть заключена в кавычки.

Теперь давайте создадим несколько пользователей БД:

С помощью клиентского инструмента MySQL получите доступ к серверу MySQL как пользователь root:

Введите ранее установленный пароль root:

Подключиться к базе данных MySQL

Во-первых, давайте перечислим текущие учетные записи пользователей MySQL в нашей системе баз данных:

Список пользователей MySQL

Как видите, у нас есть только пользователь root по умолчанию, пароль которого мы установили ранее.

Давайте создадим несколько пользователей БД, некоторые из которых могут удаленно подключаться (имя пользователя) к этому серверу базы данных, а другие могут подключаться только локально (имя пользователя@имя хоста).

Список учетных записей пользователей MySQL

Давайте сначала перечислим всех пользователей, присутствующих в базе данных:

Список учетных записей пользователей MySQL

Возможно, нам также потребуется указать дополнительную информацию о пользователях БД, такую ​​как срок действия пароля учетной записи и связанное имя хоста.

Вывод информации об учетных записях пользователей MySQL

Пользователи, которые не относятся к хосту «localhost», могут получить доступ к этому серверу базы данных из любого места. Чтобы получить текущего пользователя БД, выполните следующую команду:

Список текущих пользователей MySQL

Это текущий активный пользователь. В качестве альтернативы вы можете использовать команду:

Выйдите из оболочки MySQL и войдите в систему как другой пользователь:

Логин пользователя MySQL

Поскольку у вас может быть более одного активного пользователя базы данных, для их перечисления вам потребуется команда MySQL, подобная следующей:

Ключевые моменты, которые следует учитывать при перечислении информации об учетной записи пользователя MySQL, — это имя таблицы (например, user), под которой находятся эти пользователи, и имя базы данных (например, mysql), в которой хранится эта таблица. Увидимся на следующем уроке.

MySQL — один из самых популярных менеджеров баз данных в мире. Он имеет множество функций, которые делают его надежным, прочным и эффективным. Однако, как и любая программа, ее максимальная надежность достигается при правильном ее использовании.

Простым и надежным способом повышения безопасности MySQL является создание пользователей с ограниченными правами доступа к базе данных. В этом руководстве вы узнаете, как показать пользователям MySQL более эффективное управление базами данных MySQL в терминальной среде Linux на вашем VPS.

Зачем создавать пользователей в MySQL?

При установке MySQL первым создается пользователь root — администратор MySQL. Пользователь root имеет право делать все в базе данных MySQL, поэтому другим людям неудобно получать доступ к вашим базам данных с помощью этой учетной записи.

С другой стороны, хакеры всегда пытаются войти в систему как пользователь root, чтобы украсть размещенную информацию. Или, что еще хуже, уничтожить сервис и данные вместе с ним.

Помня об этом, системный администратор должен создать пользователей с определенными разрешениями для некоторых баз данных и, в свою очередь, для некоторых таблиц. При этом, если безопасность этого пользователя будет скомпрометирована, последствия будут минимальными или управляемыми.

Как показать пользователей в MySQL в Linux

Войти с помощью SSH

Во-первых, вам необходимо получить доступ к нашему серверу с помощью SSH. У нас есть руководство с подробным описанием процесса!

Убедитесь, что у вас есть root-права

После того, как мы получим доступ к нашему серверу, мы должны войти в консоль MySQL. Для этого нам потребуются root-права. Введите это в командную строку:

Введите корневой пароль MySQL

Затем нам нужно будет ввести наш корневой пароль MySQL. Он должен отличаться от системного пароля root.

После того, как мы вошли в консоль MySQL как пользователь root, мы можем запускать предложения и команды.

Показать пользователей MySQL

Теперь мы можем перечислить всех пользователей, созданных в MySQL, с помощью следующей команды MySQL:

В результате мы сможем увидеть всех пользователей, созданных в MySQL.

Добавить столбец хоста (необязательно)

Возможно, есть повторяющиеся пользователи. Это связано с тем, что MySQL фильтрует доступ к серверу в соответствии с IP-адресом, с которого он исходит. Таким образом, вы также можете добавить столбец хоста.

Благодаря этому мы сможем видеть пользователей MySQL и с какого хоста или IP-адреса у них есть разрешение на доступ.

Заключение

Администрирование сервера базы данных — не всегда простая задача. Поэтому мы должны быть осторожны с созданием и администрированием разрешений пользователей. Теперь вы знаете, как показать пользователей MySQL, привязанных к базе данных.

Вы можете ознакомиться с официальной документацией MySQL относительно разрешений и создания пользователей, чтобы расширить свои знания!

Эдвард – редактор контента с многолетним опытом работы в сфере ИТ в качестве писателя, маркетолога и энтузиаста Linux. Цель Эдварда — побудить читателей создать впечатляющее присутствие в Интернете. Еще он очень любит собак, гитары и все, что связано с космосом.

Сегодня мы расскажем вам, как отобразить всех пользователей в базе данных пользователей MySQL.

Распространенный вопрос, который задают большинство начинающих пользователей MySQL: «Как мне увидеть всех пользователей на моем сервере MySQL?» Большинство из них предполагают, что в MySQL есть команда show users, но ее нет. Это распространенная ошибка, поскольку существуют и другие команды MySQL для отображения информации о базе данных. Например, SHOW DATABASES покажет нам все базы данных, которые присутствуют на нашем сервере MySQL, а SHOW TABLES покажет нам все таблицы в базе данных MySQL, которую вы выбрали.

Нередко люди предполагают, что в MySQL должна быть команда SHOW USERS. Несмотря на то, что для этого нет специальной команды, есть несколько способов увидеть список пользователей и даже отфильтровать их, чтобы увидеть именно то, что вам нужно. Все это можно сделать с помощью инструмента командной строки MySQL — приступим.

После входа на сервер Linux выполните следующую команду, чтобы войти в интерфейс командной строки MySQL.

Оглавление

Войдите на свой сервер MySQL

Войдите на сервер MySQL как пользователь root, используя следующую команду:

Затем введите корневой пароль MySQL. Он не установлен по умолчанию, поэтому все, что вам нужно сделать, это нажать клавишу [Enter], если вы никогда его не устанавливали.Однако, если вы установили пароль (будь то с помощью сценария mysql_secure_installation или чего-то еще), вы должны ввести этот пароль сейчас.

Показать команду MySQL для пользователей

Мы просто запросим таблицу пользователей, чтобы показать всех пользователей MySQL, с помощью следующей команды:

Список всех пользователей MySQL должен быть похож на приведенный ниже:

Еще один способ увидеть всех пользователей – просто использовать подстановочный знак звездочки (*) при выборе полей в пользовательской таблице. Это должно выглядеть так:

Это вернет всю возможную информацию о полях для каждого пользователя. Имейте в виду, что количество полей обычно очень велико, поэтому вывод, скорее всего, будет нечитаемым, и вам, вероятно, не понадобится вся информация, доступная для каждого пользователя. Вот почему мы предлагаем указывать имена полей, чтобы вывод был легко читаемым, и вы видели только ту информацию, которая вам нужна.

Некоторые поля относятся к привилегиям и разрешениям, которые есть у каждого пользователя (например, «Insert_priv» или «Drop_priv»), а некоторые поля относятся к общим свойствам учетной записи пользователя, например «max_connections» или «max_updates».

Отображать только уникальные имена пользователей в базе данных MySQL

В некоторых случаях выбор таблицы пользователей может привести к дублированию результатов (например, один пользователь для разных хостов, но пользователи имеют одно и то же имя) — это может создать беспорядок, поэтому вы можете захотеть отображать только уникальные имена пользователей.

Никаких повторяющихся строк, как мы и хотели. Это может дать вам четкое представление о том, какие пользователи существуют на сервере базы данных.

Информация о таблице пользователей MySQL

Вывод будет похож на приведенный ниже. Вариантов много!:

теперь вы можете объединить это с примером, приведенным на шаге 2. Например, если вы хотите вернуть список пользователей и их права на обновление, вы можете запустить эту команду:

Просто замените «Update_priv» любыми полями, которые могут вам понадобиться.

Показать информацию о текущем пользователе

Вы можете использовать встроенную функцию MySQL, чтобы увидеть имя и хост пользователя, который вы использовали для входа в командную строку MySQL. Это функция «user()», и все, что вам нужно сделать, это выбрать ее:

Вывод должен предоставить вам информацию о пользователе, выполнившем запрос.

По завершении этого руководства вы узнали, как отображать учетные записи пользователей MySQL с помощью командной строки.

Если у вас есть дополнительные вопросы по базе данных MySQL, оставьте комментарий ниже. Вы всегда можете получить у нас управляемый хостинг MySQL, и наша полностью управляемая поддержка поможет вам с проблемами, связанными с MySQL, или объяснит, как показать всех пользователей в базе данных MySQL.

ПС. Если вам понравился этот пост о том, как заставить MySQL показывать всех пользователей, поделитесь им с друзьями в социальных сетях, используя наши ярлыки общего доступа. Спасибо.

Если вы когда-либо пытались получить список пользователей, доступных на вашем сервере MySQL, вы заметите, что для этого нет встроенной команды. Например, чтобы получить список баз данных, вы можете просто запросить SHOW DATABASES. Однако это не относится к пользователям.

В этом руководстве показано, как просмотреть пользователей, доступных в MySQL, с помощью простых и быстрых команд.

Дамп всех пользователей MySQL

Чтобы получить информацию о пользователях на сервере, мы запрашиваем определенную информацию в таблице пользователей, доступной в базе данных MYSQL.

Убедитесь, что сервер запущен и работает. Затем войдите на сервер, используя пользователя root, как показано в команде:

Приведенный выше запрос отобразит имя пользователя и хост всех пользователей на сервере. Вот пример вывода:

mysql > ВЫБЕРИТЕ пользователя, хост ИЗ mysql. Пользователь ;
+------------------+---------------+
| Пользователь | Хост |
+------------------+---------------+
| LT.Спок | 10.10.0.14 |
| Ухура | 172.23.58.23 |
| капитан.кирк | локальный |
| mysql.info-схема | локальный |
| MySQL. сессия | локальный |
| mysql.sys | локальный |
| корень | локальный |
+------------------+---------------+
7 рядов в наборе ( 0.00 сек )

ПРИМЕЧАНИЕ. В приведенном выше запросе мы ограничиваем строки пользователем и хостом, но таблица содержит больше строк, таких как account_locked, User_attributes, Delete_Priv и т. д.

Чтобы просмотреть все строки о таблице, используйте запрос DESC, как показано ниже:

Вывод показан ниже:

Показать текущего пользователя

Чтобы просмотреть текущего пользователя, вошедшего в систему, вы можете использовать функцию current_user(), как показано ниже:

Пример вывода приведен ниже:

Показать зарегистрированных пользователей

Используя базу данных information_schema и таблицу списка процессов, мы можем получить информацию о вошедших в систему пользователях.Таблица process_list содержит список операций, выполняемых в настоящее время различными потоками на сервере.

Чтобы просмотреть зарегистрированных пользователей, используйте запрос, как показано ниже:

Отобразится такая информация, как идентификатор, пользователь и т. д. вошедших в систему пользователей, а также текущая запущенная команда.

Вот пример вывода:

Заключение

Спасибо, что прочитали.

Об авторе

Джон Отиено

Меня зовут Джон, и я такой же гик, как и вы. Я увлечен всеми вещами компьютеров от аппаратного обеспечения, операционных систем до программирования. Моя мечта — поделиться своими знаниями с миром и помочь другим гикам. Следите за моим контентом, подписавшись на список рассылки LinuxHint

Основная функция базы данных — хранить информацию в структурированном виде, чтобы обеспечить легкий доступ к этой информации. Наличие большого количества пользователей с разрешением на доступ и работу на вашем сервере MySQL может стать проблемой безопасности.

Короткий набор запросов в клиенте MySQL может предоставить вам ценную информацию, которая поможет предотвратить возможные проблемы. Используйте команды, описанные в этом руководстве, чтобы узнать, как получить список всех учетных записей пользователей на сервере MySQL.

  • Установлена ​​командная строка/окно терминала или MariaDB
  • Пользователь с правами sudo или root

Как получить доступ к MySQL с правами root

Для доступа к серверу MySQL в качестве пользователя root введите следующую команду в своем терминале:

Опция -p является обязательной, только если у вас есть предопределенный пароль для пользователя root. Если пароль не задан, используйте команду без параметра -p.

Вывод выше показывает, что мы получили доступ к клиенту MySQL как пользователь root.

Примечание: вы также можете использовать SSH для подключения к вашему серверу, если вы используете удаленное подключение.

Как показать всех пользователей MySQL

Следующая команда выводит список имен пользователей, имеющих доступ к серверу:

Вывод в этом примере показывает таблицу с четырьмя строками:

Список, который мы получили, имеет ограниченную ценность. Чтобы получить более подробный обзор пользователей MySQL и их разрешений, мы можем расширить параметры поиска и добавить дополнительные столбцы.

Можно объединить несколько параметров в одну команду для получения подробной информации о пользователе.

Как показать информацию о пользователе MySQL

Следующий запрос предоставляет таблицу со столбцами Пользователь, Хост и строка_аутентификации:

Запрос добавляет еще два столбца к столбцу "Пользователь" и предоставляет ценную информацию, такую ​​как пароль пользователя и имя хоста.

Как составить список только уникальных пользователей MySQL

Еще одна полезная опция — удаление имен пользователей MySQL, которые появляются в нескольких строках. Чтобы отобразить только уникальные имена пользователей MySQL, введите следующую команду:

Выходные данные удаляют повторяющиеся строки MySQL и показывают определенные имена пользователей только один раз.

Показать текущего пользователя MySQL

Используйте функцию user() или current_user(), чтобы получить сведения о текущем пользователе MySQL:

В обоих случаях выходные данные показывают, что текущий пользователь MySQL [электронная почта защищена].

Показать зарегистрированных пользователей MySQL

В любой момент вы можете проверить пользователей, которые в данный момент вошли в систему на сервере базы данных MySQL. Эта функция обеспечивает бесценную информацию при мониторинге вашего сервера MySQL на предмет несанкционированного использования.

Введите этот запрос, чтобы отобразить список зарегистрированных в настоящее время пользователей MySQL:

В выходных данных перечислены пользователи, которые вошли в систему, база данных и выполняемая команда.

Вместо простого списка пользователей вы можете изменить результаты поиска и найти информацию о пользователе. Подробный и настраиваемый обзор позволит вам принять взвешенное решение относительно безопасности вашего сервера MySQL.

Читайте также: