При установке mysql не спрашивает пароль ubuntu
Обновлено: 05.07.2024
Я использовал АПТ установки MySQL-сервера , чтобы установить MySQL на Ubuntu 16.04, но во время установки он не просил пароль.
После установки у меня ошибка 1045 когда я пытался войти как пользователь root и mysql_secure_installation` выкинул ту же ошибку. Я продувки autoremove бы и хотел переустановить, но он не работает.
Это мой отчет по установке:
<заранее>следующие дополнительные пакеты будут установлены: libaio1 MySQL-клиента-5.7 MySQL-клиента-ядро-5.7 MySQL-сервера-5.7 MySQL-сервером-ядро-5.7 Предлагаемые пакеты: mailx тайнюка Следующие новые пакеты будут установлены: libaio1 MySQL-клиента-5.7 MySQL-клиента-ядро-5.7 с MySQL-сервером MySQL-сервер-5.7 MySQL-сервером-ядро-5.7 Обновлено 0, 6 установлено новых, 0 для удаления, и 0 пакетов не обновлено. Нужно получить 0 б/17,9 МБ архивов. После этой операции, 160 МБ дополнительного дискового пространства будет использовано. Вы действительно хотите продолжить? [Д/н] г Предварительная настройка пакетов . Выбор ранее выбранных пакетов libaio1:для amd64. (Чтение базы данных . файлы 227144 и каталоги установлены.) Готовится распаковать . /libaio1_0.3.110-2_amd64.деб . Распаковка libaio1:для amd64 (0.3.110-2) . Выбор ранее выбранных пакета MySQL-клиента-ядро-5.7. Подготовка к распаковке . /MySQL-клиента-ядро-5.7_5.7.12-0ubuntu1_amd64.деб . Распаковка MySQL-клиента-ядро-5.7 (5.7.12-0ubuntu1) . Выбор ранее выбранных пакета MySQL-клиент-5.7. Подготовка к распаковке . /MySQL-клиента-5.7_5.7.12-0ubuntu1_amd64.деб . Распаковка MySQL-клиента-5.7 (5.7.12-0ubuntu1) . Выбор ранее выбранных пакета MySQL-сервер-ядро-5.7. Подготовка к распаковке . /MySQL-сервера-основной-5.7_5.7.12-0ubuntu1_amd64.деб . Распаковка MySQL-сервера-основной-5.7 (5.7.12-0ubuntu1) . Выбор ранее выбранных пакета MySQL-сервер-5.7. Подготовка к распаковке . /MySQL-сервера-5.7_5.7.12-0ubuntu1_amd64.деб . Распаковка MySQL-сервера-5.7 (5.7.12-0ubuntu1) . Выбор ранее выбранных пакета MySQL-сервер. Подготовка к распаковке . /для MySQL server_5.7.12-0ubuntu1_all.деб . Распаковка MySQL-сервера (5.7.12-0ubuntu1) . Обработка триггеров для библиотеки libc-bin (на 2.23-0ubuntu3) . Обработка триггеры для MAN-DB в (2.7.5-1) . Обработка триггеров для systemd в (229-4ubuntu4) . Обработка триггеры для ureadahead (0.100.0-19) . Настройка libaio1:для amd64 (0.3.110-2) . Настройка MySQL-клиента-ядро-5.7 (5.7.12-0ubuntu1) . Настройка MySQL-клиента-5.7 (5.7.12-0ubuntu1) . Настройка MySQL-сервера-основной-5.7 (5.7.12-0ubuntu1) . Настройка MySQL-сервера-5.7 (5.7.12-0ubuntu1) . обновление-альтернатив: через /etc/mysql в/в MySQL.КНФ представить в /etc/mysql в/мой.КНФ (мой.КНФ) в автоматическом режиме Проверки, если необходимо обновление. Эта установка MySQL уже обновлен до 5.7.12, используйте ключ --Force, если вам все еще нужно запустить mysql_upgrade Настройка MySQL-сервера (5.7.12-0ubuntu1) . Обработка триггеров для библиотеки libc-bin (на 2.23-0ubuntu3) . </пред>
Во время установки меня не просят ввести пароль root . И если я попытаюсь подключиться к mysql с помощью следующей команды:
И используя системный пароль root, я получил следующую ошибку:
Я в замешательстве, так как, по всей видимости, меня попросят предоставить пароль root во время установки .
Что я должен делать ?
После установки запустите MySql Secure Installation:
Вам будет задан ряд вопросов по настройке безопасности, включая настройку пароля root.
После того, как пароль root установлен, вам необходимо войти в систему как root (или использовать sudo ) для входа. Это является следствием того, как MySql использует учетные данные на основе идентификатор процесса
Выберите свою версию и нажмите «Далее», затем выберите «ОК» и нажмите «Далее».
В настоящее время
При установке он запросит пароль.
Если кто-то столкнулся с этой проблемой при установке MYSQL в Ubuntu 18.04.
Ubuntu 18.04 использует сокеты для авторизации, а не пароли !!
Для меня вход в систему был прост:
Не забывайте sudo
У меня была та же проблема, из-за которой я не мог получить доступ к mysql, все ответы на использование mysql_secure_installation после запуска sudo apt install mysql-server не работали. Вот что сработало
- Перейдите в официальное руководство по установке mysql и следуйте инструкциям. по строке
- Вам необходимо загрузить файл .deb с здесь, который определяет, какую версию MySQL вы используете. хочу установить и другие конфигурации
- После завершения всех настроек запустите sudo apt-get update && sudo apt-get install mysql-server На этот раз вас попросят ввести пароль.
Надеюсь, это поможет. Ура!
Учетная запись суперпользователя root '@' localhost создана. Пароль для суперпользователя устанавливается и сохраняется в файле журнала ошибок. Чтобы выявить это, используйте следующую команду:
shell> sudo grep 'temporary password' /var/log/mysqld.log
Возможно, вам будет интересно прочитать этот вопрос и ответы на него .
Разве пароль по умолчанию не пустая строка?
Вот:
Если в новом my-sql пароль оставлен пустым во время установки, то он основан на плагине auth_socket .
MySQL - СУБД с открытым исходным кодом, которая часто устанавливается в качестве части сборки LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Она использует реляционную базу данных и SQL для работы с данными.
Короткая установка простая - просто обновите индекс пакетов, установите пакет mysql-server и запустите скрипт безопасности:
Более развернутую инструкцию с нюансами, касающимися версий MySQL, читайте ниже.
Требования
На сервере должна быть установлена ОС Ubuntu 18.04, должен быть создан пользователь с sudo привилегиями и настроен фаервол.
Шаг 1: установка MySQL
Репозиторий Ubuntu 18.04 по умолчанию содержит только последнюю версию MySQL. На момент написания статьи это 5.7.
Для того, чтобы установить эту версию, сначала обновите индекс пакетов:
А затем выполните установку:
Выполнив эту команду, вы установите MySQL, однако запросов на установку пароля или других настроек не будет. Поэтому следующий шаг после установки - это настройка MySQL.
Шаг 2: настройка MySQL
Если вы установили одну из свежих версий MySQL, то вы можете просто запустить включенный в нее скрипт безопасности. Он позволит изменить некоторые базовые настройки (например, настройки для удаленного доступа). В более старых версиях вносить эти изменения приходилось вручную (в то время как сейчас они будут выполнены автоматически).
Запустите скрипт безопасности:
После этого вы сможете внести некоторые изменения в настройки безопасности MySQL.
Первый запрос - хотите ли вы использовать Validate Password Plugin, который используется для тестирования вашего пароля (плагин проверяет надежность пароля с точки зрения взлома).
Следующий запрос - установка пароля для суперпользователя. Введите и подтвердите выбор пароля.
Далее можно просто нажимать Y и затем Enter для того, чтобы внести необходимые изменения. В результате будут удалены некоторые анонимные пользователи и тестовая база данных, будет отключена удаленная авторизация для суперпользователя и будут внесены некоторые другие изменения.
Для того, чтобы создать каталог данных MySQL, вам нужно использовать:
- mysql_install_db - для версий до 5.7.6;
- mysqld --initialize - для версий 5.7.6 и более поздних.
Если вы следовали этой инструкции, то каталог данных был создан автоматически, и вам ничего делать не надо. И если вы введете команду, то увидите следующую ошибку:
Обратите внимание, что несмотря на то, что вы установите пароль для суперпользователя MySQL, для этого пользователя не включена авторизация с паролем при подключении к MySQL. Это можно изменить, выполнив следующие действия.
Шаг 3: настройка аутентификации и привилегий
В ОС Ubuntu c MySQL 5.7 (и более поздними версиями) аутентификация суперпользователя MySQL по умолчанию настроена на использование плагина auth_socket, а не пароля. С точки зрения безопасности это хороший вариант, однако могут быть некоторые проблемы, особенно в тех случаях, когда вам нужно дать другой программе (например, phpMyAdmin) доступ к пользователю.
Если вы хотите использовать пароль для подключения к MySQL в качестве суперпользователя, вам нужно изменить метод аутентификации с auth_socket на mysql_native_password. Для этого откройте консоль MySQL:
Далее проверьте, какой метод аутентификации используется для каждого из ваших пользовательских аккаунтов MySQL:
В этом примере вы видите, что аутентификация суперпользователя происходит с использованием плагина auth_socket. Чтобы поменять настройку на использование пароля, выполните команду ниже. Обязательно выберите хороший и сложный пароль.
Теперь нужно, чтобы изменения вступили в силу. Введите команду:
Еще раз запросите, какие аутентификационные методы используются:
Вывод должен выглядеть теперь вот так:
Теперь аутентификация суперпользователя будет происходит с использованием пароля. После этого можно выйти из консоли MySQL:
Если вам нужен отдельный пользователь для работы с MySQL, то создать его можно следующим способом. Снова откройте консоль MySQL:
Примечание: если вы выполнили действия выше, и теперь для аутентификации суперпользователя используется пароль, вам нужно использовать другую команду для доступа в консоль MySQL. Для того, чтобы авторизоваться с административными правами, введите:
Теперь создайте нового пользователя и задайте надежный пароль:
Теперь новому пользователю можно задать нужные вам права. Например, доступ ко всем таблицам в базе данных, а также возможность менять, добавлять и удалять права пользователей. Для этого введите следующую команду:
В данном случае использовать команду FLUSH PRIVILEGES не нужно - она используется только в тех случаях, когда вы изменяете таблицы представлений с использованием INSERT, UPDATE или DELETE.
Поэтому просто выйдите из консоли MySQL:
Теперь перейдем к тестированию MySQL.
Шаг 4: тестирование MySQL
Вне зависимости от того, как вы установили MySQL, СУБД должна запуститься автоматически.
Проверить статус можно следующей командой:
Вывод должен быть примерно вот таким:
Если же MySQL по какой-то причине не работает, ее можно запустить командой:
Дополнительно можно выполнить проверку, используя mysqladmin, который позволяет использовать административные команды. Например, при помощи команды ниже можно подключиться к MySQL в качестве суперпользователя (-u root), запросить пароль (-p) и показать версию:
MySQL — это реляционная СУБД, которая использует язык запросов SQL. В инструкции мы рассмотрим, как запустить MySQL на Ubuntu 20.04. Для этого нам потребуется облачный сервер.
Создание облачного сервера
Создать облачный сервер с операционной системой Ubuntu 20.04 можно в Облачной платформе Selectel.
Откройте панель управления, перейдите в раздел Серверы и нажмите Создать сервер.
В качестве источника выберите в списке Ubuntu 20.04.
Сконфигурировать сервер можно любым образом, подробнее о настройках в Базе знаний.
Чтобы в дальнейшем можно было подключиться к серверу извне, создайте плавающий IP-адрес. Для этого в выпадающем списке Сеть выберите Плавающий IP-адрес.
Подготовка системы
Перед установкой MySQL сервер нужно подготовить: подключиться к нему по SSH и настроить брандмауэр с помощью UFW.
Подключение по SSH
Для подключения по SSH в терминале локальной машины введите:
IP-адрес сервера находится на вкладке Порты на странице сервера.
Пароль для root-пользователя, который требуется при аутентификации, можно найти на вкладке Консоль.
Настройка брандмауэра в Ubuntu
После подключения настройте брандмауэр так, чтобы он разрешал подключения к серверу по SSH.
Обновите индекс пакетов:
Установите утилиту UFW для настройки брандмауэра:
Проверьте список профилей UFW:
В списке должен быть указан OpenSSH:
Разрешите подключения по SSH:
Убедитесь, что брандмауэр активен, и включены профили OpenSSH:
Вывод будет выглядеть так:
Теперь можно переходить к установке и настройке MySQL на облачном сервере.
Установка MySQL
Установить MySQL на Ubuntu 20.04 можно через пакет:
На момент публикации инструкции по умолчанию ставится версия 8.0.23.
Вы можете проверить установленную версию:
Начальная настройка MySQL
Запустите скрипт для повышения безопасности MySQL:
Система запросит разрешение на установку плагина валидации паролей. Этот плагин проверяет безопасность пароля и позволяет пользователю ставить только достаточно защищенные пароли.
Если вы хотите установить этот плагин, введите в консоли y или Y.
Есть три уровня защищенности пароля: LOW (0), MEDIUM (1) и STRONG (2). Чтобы задать уровень пароля, нажмите соответствующую цифру, например, 2 для сильного пароля. Даже если вы на предыдущем шаге не установили плагин, система запросит вас поставить пароль для пользователя root — введите его два раза.
Если плагин установлен, будет показан уровень надёжности пароля Estimated strength of the password.
Далее система задаст ряд вопросов: хотите ли вы использовать этот пароль для продолжения работы, удалить ли всех анонимных пользователей, запретить удаленно подключаться как root, удалить тестовую БД и доступ к ней, перезагрузить таблицы с привилегиями. Вы можете ответить на все эти вопросы положительно: y, Y или Enter.
Если в выводе появится All done!, то пароль для root успешно настроен.
По умолчанию вход в MySQL в Ubuntu не будет происходить по паролю. Чтобы настроить подключение через пароль, следуйте инструкции ниже.
Настройка аутентификации и управление пользователями
Аутентификация по паролю
Для root-пользователя аутентификация в MySQL происходит с использованием плагина auth_socket. Чтобы при подключении запрашивался пароль, нужно изменить плагин.
Войдите в оболочку MySQL:
Посмотрите, какой плагин используется:
Для пользователя root используется auth_socket:
Назначьте пользователю root новый плагин caching_sha2_password. Также установите пароль того уровня надежности, который вы задали ранее (на шаге Базовая настройка MySQL) — это может быть, например, тот же самый пароль. Введите его вместо password:
Некоторые приложения для работы с MySQL (например, phpMyAdmin) не будут надежно работать с плагином caching_sha2_password. В таком случае лучше установить другой плагин — mysql_native_password.
Проверьте, что для пользователя root плагин изменился на caching_sha2_password:
Закройте командную строку MySQL:
Дополнительный пользователь (опционально)
Вы можете создать дополнительного пользователя для работы с MySQL.
Если вы установили аутентификацию по паролю, изменилась команда для подключения к консоли MySQL:
Если у вас не установлена аутентификация по паролю, то для входа в MySQL используйте:
Создайте нового пользователя и поставьте пароль:
Если вы хотите дать пользователю полный доступ к определенной базе данных, используйте:
Закройте консоль MySQL:
Тестирование MySQL
Посмотрите статус MySQL:
В выводе должен быть индикатор зеленого цвета и статус active:
По какой-то причине сервис может быть не активен. В таком случае запуск MySQL в Ubuntu происходит через команду:
Если вы хотите дополнительно проверить работу MySQL, используйте инструмент mysqladmin — он нужен для администрирования MySQL-сервера. Подключитесь к MySQL и запросите пароль от root:
Если вывод выглядит подобным образом, то MySQL успешно установлена и готова к использованию:
Удаление MySQL
Если по какой-то причине вам нужно удалить MySQL из Ubuntu 20.04, сначала остановите сервисы:
Читайте также: