Я использовал apt install mysql-server для установки MySQL на Ubuntu 16.04, но во время установки он не запрашивал пароль root.
После установки я получил ERROR 1045, когда попытался войти в систему как root и mysql_secure_installation сбросили ту же ошибку. I purge d и autoremove d затем переустановлен, но он не работает.
Как я могу это исправить? Могу ли я установить пароль root, если я не установил его во время установки?
Это мой журнал установки:
The following additional packages will be installed: libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server-5.7 mysql-server-core-5.7 Suggested packages: mailx tinyca The following NEW packages will be installed: libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server mysql-server-5.7 mysql-server-core-5.7 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/17,9 MB of archives. After this operation, 160 MB of additional disk space will be used. Do you want to continue? [Y/n] y Preconfiguring packages ... Selecting previously unselected package libaio1:amd64. (Reading database ... 227144 files and directories currently installed.) Preparing to unpack .../libaio1_0.3.110-2_amd64.deb ... Unpacking libaio1:amd64 (0.3.110-2) ... Selecting previously unselected package mysql-client-core-5.7. Preparing to unpack .../mysql-client-core-5.7_5.7.12-0ubuntu1_amd64.deb ... Unpacking mysql-client-core-5.7 (5.7.12-0ubuntu1) ... Selecting previously unselected package mysql-client-5.7. Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ... Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ... Selecting previously unselected package mysql-server-core-5.7. Preparing to unpack .../mysql-server-core-5.7_5.7.12-0ubuntu1_amd64.deb ... Unpacking mysql-server-core-5.7 (5.7.12-0ubuntu1) ... Selecting previously unselected package mysql-server-5.7. Preparing to unpack .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ... Unpacking mysql-server-5.7 (5.7.12-0ubuntu1) ... Selecting previously unselected package mysql-server. Preparing to unpack .../mysql-server_5.7.12-0ubuntu1_all.deb ... Unpacking mysql-server (5.7.12-0ubuntu1) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for systemd (229-4ubuntu4) ... Processing triggers for ureadahead (0.100.0-19) ... Setting up libaio1:amd64 (0.3.110-2) ... Setting up mysql-client-core-5.7 (5.7.12-0ubuntu1) ... Setting up mysql-client-5.7 (5.7.12-0ubuntu1) ... Setting up mysql-server-core-5.7 (5.7.12-0ubuntu1) ... Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ... update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode Checking if update is needed. This installation of MySQL is already upgraded to 5.7.12, use --force if you still need to run mysql_upgrade Setting up mysql-server (5.7.12-0ubuntu1) ... Processing triggers for libc-bin (2.23-0ubuntu3) ...Он не будет запрашивать пароль при установке mysql в Ubuntu 16.04, но вы можете установить его после успешной установки следующим образом:
После завершения установки mysql выполните команду:
sudo mysql_secure_installation
Он покажет:
ПРИМЕЧАНИЕ: РЕЖИМ ВСЕХ ЧАСТЕЙ ЭТОГО СКРИПТА РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ СЕРВЕРОВ MariaDB В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ПОЖАЛУЙСТА ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ ВНИМАТЕЛЬНО! Чтобы войти в MariaDB для его защиты, нам нужен текущий пароль для пользователя root. Если вы только что установили MariaDB, и вы еще не установили пароль root, пароль будет пустым, поэтому вы должны просто нажать Enter здесь.Enter current password for root (enter for none): (здесь нажмите Enter)
ПРИМЕЧАНИЕ: РАБОТАЙ ВСЕ ДЕТАЛИ ДАННОГО СКРИПТА РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ СЕРВИСОВ MariaDB В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ!
Установка пароля root гарантирует, что никто не сможет войти в корень пользователя MariaDB без соответствующей авторизации.Set root password? [Y/n] y (press 'y' to set new password)
New password:
Re-enter new password:
Чтобы войти в MariaDB для его защиты, нам понадобится текущий пароль для пользователя root. Если вы только что установили MariaDB и вы еще не установили пароль root, пароль будет пустым, поэтому вы должны просто нажать здесь.
Очевидно, что установка mysql-сервера в 16.04 (или любая установка 5.7?) позволяет root-доступ не через пароль, а через плагин auth_socket. Запуск sudo mysql -u root (nb w / oa password) даст вам консоль mysql, тогда как запуск команды как не-root вызывает вас для пароля.
Кажется, что смена пароля не делает большой разница, поскольку бэкенд auth даже не проверяет пароль. Существует очень полная статья о том, как auth_socket .
Добавление к основному ответу Если вы застряли в
"mysqld_safe Запуск mysqld-демона с базами данных из / var / lib / mysql"
1 вещь, чтобы помнить, что у вас есть чтобы использовать другое окно терминала, чтобы ввести следующую команду.
$ sudo mysql --user=root mysql
Если вы попытаетесь сделать это в том же окне, он отключит процесс safemode mysqld.