zaLinux.ru

Как изменить приглашение командной строки для MySQL (MariaDB)


Клиент MySQL (MariaDB) при подключении к серверу СУБД в приглашении командной строки по умолчанию показывает выбранную для использования базу данных, а также имя СУБД (например, MariaDB или MySQL).

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

Изменить приглашение командной строки в MySQL и MariaDB можно на время одной сессии или для каждой сессии. В любом случае эту настройку легко изменить и отключить.

Прежде чем перейти к способам настройки приглашения командной строки MySQL (MariaDB), ознакомимся с условными обозначениями, используемыми в качестве указания формата.

Опция Описание
\C Текущий идентификатор соединения
\c Счётчик, который увеличивается для каждого введённого вами оператора.
\D Полная текущая дата
\d База данных по умолчанию
\h Хост сервера
\l Текущий разделитель
\m Минуты текущего времени
\n Символ новой строки
\O Текущий месяц в трёхбуквенном формате (январь, февраль, …)
\o Текущий месяц в числовом формате
\P До полудня / после полудня
\p Текущий порт TCP/IP или файл сокета.
\R Текущее время в 24-часовом военном формате (0–23).
\r Текущее время, стандартное 12-часовое время (1–12).
\S Точка с запятой
\s Секунды текущего времени
\T Напечатать звёздочку (*), если текущий сеанс находится внутри блока транзакции.
\t Символ табуляции
\U Ваше полное имя учётной записи в формате имя_пользователя@имя_хоста
\u Ваш логин
\v Версия сервера
\w Текущий день недели в трёхбуквенном формате (пн, вт, …)
\Y Текущий год, четыре цифры
\y Текущий год, две цифры
\_ Пробел
Пробел (пробел следует за обратной косой чертой)
\' Одиночная кавычка
\" Двойная кавычка
\\ Буквальный \ символ обратной косой черты
\x x, для любого «x», не указанного выше

1. Изменение приглашения командной строки MySQL (MariaDB) с помощью переменной окружения

Используйте переменную среды. Вы можете установить переменную среды MYSQL_PS1 указав в ней нужный вам формат приглашения командной строки. Например:

export MYSQL_PS1="(\u@\h) [\d]> "

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

MariaDB [(none)]>

После экспорта переменной MYSQL_PS1 и повторного подключения к серверу MariaDB, приглашение командной строки изменилось на:

(root@localhost) [(none)]>

Чтобы не вводить команду экспорта переменной каждый раз, вы можете сохранить её в файле .bashrc (для оболочки Bash).

Все файлы начинающиеся с точки, в том числе и файл .bashrc, по умолчанию в Linux считаются скрытыми. То есть эти файлы не отображаются, если не включена опция «показывать скрытые файлы». При этом вы без проблем можете открыть данный файл в командной строке:


gedit ~/.bashrc

Если вы используете другую оболочку, то имя файла будет отличаться.

Смотрите также: Как узнать, какая оболочка используется в Linux

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

#!/bin/bash

export MYSQL_PS1="(\u@\h) [\d]> "
mariadb -u root -p

2. Изменение приглашения командной строки MySQL (MariaDB) в опции строки команды

Используйте параметр командной строки. Вы можете установить параметр --prompt в командной строке для mysql/mariadb. Например:

mysql --prompt="(\u@\h) [\d]> " -u root -p

3. Изменение приглашения командной строки MySQL (MariaDB) в конфигурационном файле

Смотрите также: Как определить расположение и имя конфигурационного файла MySQL (MariaDB). Как узнать название групп для конфигурационных файлов MySQL и MariaDB

Откройте конфигурационный файл /etc/my.cnf:

sudo gedit /etc/my.cnf

И добавьте туда формат приглашения командной строки в группу [mysql]:

[mysql]

prompt=(\\u@\\h) [\\d]>\\_

Обратите внимание, что в этом примере обратная косая черта удваивается. Если вы устанавливаете формат приглашения командной строки с помощью настройки prompt в файле опций, желательно удвоить обратную косую черту, если она встречается. Существует некоторое совпадение набора допустимых параметров подсказки и набора специальных escape-последовательностей, которые распознаются в файлах параметров. Такое перекрытие (совпадение) может вызвать проблемы, если вы используете одиночные обратные косые черты. Например, \s интерпретируется как пробел, а не как текущее значение секунд. В следующем примере показано, как указать приглашение в файле параметров для включения текущего времени в формате чч:мм:сс>:


[mysql]

prompt="\\r:\\m:\\s> "

Примечание: можно использовать и другое имя группы для указания настроек клиента. В моих тестах клиент MariaDB правильно обрабатывал настройки из группы [mysql], но вы также можете использовать любое из следующих имён для MariaDB:

[client]

[mariadb-client]

[client-mariadb]

[client-server]

ИМХО, самым универсальным из этих имён является [client], хотя, как я отметил чуть выше, имя группы [mysql] также понимается обоими СУБД.

4. Интерактивное изменение приглашения командной строки MySQL (MariaDB)

Установите подсказку в интерактивном режиме. Вы можете изменить приглашение в интерактивном режиме, используя команду «prompt» (или \R). Например:

prompt (\u@\h) [\d]>\_

Будет выведено:

PROMPT set to '(\u@\h) [\d]>\_'
(user@host) [database]>

Вызов команды «prompt» без указания значения вернётся приглашение командной строки к исходному виду:

(user@host) [database]> prompt
Returning to default PROMPT of mysql>
mysql>


Рекомендуемые статьи:

Оставить комментарий

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