Обычно при установке сервера базы данных MySQL/MariaDB в Linux рекомендуется установить пароль пользователя root для его защиты, и этот пароль необходим для доступа к серверу базы данных с привилегиями пользователя root.
В этом руководстве мы покажем вам, как подключать и запускать команды MySQL, не вводя пароль (авторизация для mysql без пароля root) на терминале Linux.
Как установить пароль Root MySQL?
Если вы недавно установили сервер MySQL/MariaDB, то для его подключения пользователю root не требуется никакого пароля. Чтобы защитить его, обязательно установите пароль для пользователя root с помощью следующей команды.
Обратите внимание, что эта команда является лишь одним из многих команд MySQL (Mysqladmin) для администрирования баз данных в Linux.
Как подключиться или запустить MySQL без пароля root?
Чтобы запускать команды MySQL без ввода пароля на терминал, вы можете сохранить своего пользователя и пароль в файле конфигурации конкретного пользователя
/.my.cnf в домашнем каталоге пользователя, как описано ниже.
Теперь создайте конфигурационный файл
/.my.cnf и добавьте в него конфигурации как показано ниже (не забудьте заменить mysqluser и mysqlpasswd своими собственными значениями).
Сохраните и закройте файл. Затем установите соответствующие для него разрешения, чтобы сделать его доступным только для чтения и записи для конкретного пользователя оболочки.
После того, как вы указали пользователя и пароль в файле конфигурации Mysql, с этого момента, когда вы будете запускать команды, такие как mysql, mysqladmin и т.д., они будут вычитывать mysqluser и mysqlpasswd из вышеуказанного файла.
В этом руководстве мы показали, как запускать команды MySQL без ввода пароля root в терминале.
Вопросы по статье задавайте в комментариях ниже.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Допустим, нужно сделать чтобы пользователь root мог подключаться к MySQL из localhost без ввода пароля.
Для этого, создадим в домашней директории пользователя, от которого выполняется подключение, файл конфигурации MySQL (в текстовом редакторе nano клавиши CTRL+X для выхода, y/n для сохранения или отмены изменений):
В целях безопасности настроим доступ к файлу .my.cnf только root пользователю системы.
И добавим секцию client, указав в ней логин и пароль пользователя, а также несколько других параметров:
Попробуем подключиться, сразу должна отобразится консоль MySQL (без запроса пароля):
Можно также укать путь к файлу с логином и паролем, например:
Указывать пароль в командной строке не рекомендуется и соответственно если указать, будет отображаться предупреждение:
mysql: [Warning] Using a password on the command line interface can be insecure.
Я поставил VestaCP вместе с mysql сервером.
Пока ковырял привилегии рута сломал ему вход без пароль по команде mysql или mysql -u root.
Теперь при прописывании одной из этих команд я получаю:
‘Access denied for user ‘root’@’localhost’ (using password: YES)’
В бд ничего нет, разве что настройки от весты и ее же бд стандартного юзера.