mysql не запрашивает пароль root при установке

Я использовал 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) ...
67
задан 5 January 2017 в 14:53

7 ответов

Вы можете восстановить или установить пароль root, не зная текущего, запустив mysql без загрузки таблиц предоставления.

Обратите внимание на $ в команды. Это указывает подсказку терминала, которую вы видите при вводе команды. Он показывает строку текста, но и фактическую набранную команду терминала. Префикс « mysql> » также является подсказкой. Это приглашение, которое вы получаете при интерактивном запуске mysql .

Это cli (командная строка), чтобы сделать это:
(Убедитесь, что остановил текущий сервер перед выполнением шагов. Одновременно может работать только один сервер.)

$ sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
$ sudo mysqld_safe --skip-grant-tables&

Теперь вы можете войти в систему как root без пароля и выполнять все команды, как в этом случае, установите пароль root как root.

$ sudo mysql --user=root mysql

Это установленный пароль root, который вы будете выполнять внутри mysql, если у вас MySQL 5.6 или ниже:

mysql> update user set Password=PASSWORD('new-password') where user='root';
flush privileges;

В MySQL 5.7 или выше

mysql> update user set authentication_string=PASSWORD('new-password') where user='root';
flush privileges;

Оттуда закройте (убейте работающий msqld) mysql и запустите его как обычно .

Примечания по запуску и остановке службы mysql:

Остановить mysql:

$ sudo service mysql stop

Запустить mysql (нормальный):

$ sudo service mysql start

Завершить временный сеанс безопасного режима mysql:

$ sudo mysqladmin shutdown
67
ответ дан 6 January 2017 в 00:53
  • 1
    Привет Jpezz. Спасибо за всю справку. Это имеет намного больше смысла теперь. I' m все еще имеющий проблемы по некоторым причинам. Here' s мой script.sh файл от/cron.hourly: #!/bin/bash должностное лицо >/home/mach01/script1.sh.out 2> & 1 эхо " Привет World" Вот конфигурация crontab: * * * * */etc/cron.hourly/script.sh>/home/mach01/script1.sh.out 2> & 1 btw, я переименовал свой сценарий к " сценарий sh" – Daniel 11 October 2017 в 12:10

Он не будет запрашивать пароль при установке mysql в Ubuntu 16.04, но вы можете установить его после успешной установки следующим образом:

После завершения установки mysql запустите команду:

sudo mysql_secure_installation

Она покажет:

ПРИМЕЧАНИЕ: ЗАПУСК ВСЕХ ЧАСТЕЙ ЭТОГО СКРИПТА РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MariaDB СЕРВЕРЫ В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ПОЖАЛУЙСТА, ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ КАЖДЫЙ ШАГ!

Чтобы войти в MariaDB и защитить его, нам понадобится текущий пароль для пользователя root. Если вы только что установили MariaDB, и вы еще не установили пароль root, пароль будет пустым, поэтому вы следует просто нажать здесь.

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

ОК, пароль успешно использован, продолжаем ...

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

 Установить пароль root?  [Y / n] y (нажмите 'y', чтобы установить новый пароль)
Новый пароль:
Повторно введите новый пароль:
 

Пароль успешно обновлен! Перезагрузка таблиц привилегий .. ... Успех!


Для Ubuntu 18.04 ИЛИ mysql-server версии 5.7.22 ЭТОТ СПОСОБ НЕ РАБОТАЕТ

Чтобы установить пароль root в Ubuntu 18.04, сначала выполните первые три команды или первые два шага LD Ответ Джеймса , затем запустите,

mysql> alter user 'root'@'localhost' identified by '<password>';

Пароль для пользователя root установлен!

ИЛИ

Выполните следующие действия, чтобы установить пароль root в 18.04:

Поскольку пароль для пользователя root не установлен, просто войдите в систему с пустым паролем

sudo mysql -u root -p
Enter password: (press enter as no password is set)

после этого можно легко выполнить запрос

ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';
43
ответ дан 6 January 2017 в 00:53
  • 1
    Я не вижу информации о том, что Ваша проблема теперь. Похож на часть Вашего комментария, был обрублен. – jpezz 13 October 2017 в 06:34

Очевидно, установка mysql-server на 16.04 (или любая установка 5.7?) Разрешает root-доступ не через пароль, а через плагин auth_socket . Запуск sudo mysql -u root (nb w / oa password) даст вам консоль mysql, тогда как выполнение команды без полномочий root предложит вам пароль.

Казалось бы, изменение пароля не требует ' Это не имеет большого значения, поскольку бэкэнд аутентификации даже не проверяет пароль. Существует очень подробная статья о том, как изменить плагин и переключиться на аутентификацию по паролю .

21
ответ дан 6 January 2017 в 00:53

Добавление к основному ответу, если вы застряли на

" mysqld_safe Запуск демона mysqld с базами данных из / var / lib / mysql "

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

$ sudo mysql --user=root mysql

Если вы попытаетесь сделать это в том же окне, процесс mysqld safemode завершится.

0
ответ дан 6 January 2017 в 00:53
  • 1
    Большое спасибо @BISI. Это работало, и теперь я могу достигнуть камеры. Я пытался сделать DHCP IP камеры, и я ожидал, что буду в состоянии достигнуть камеры, не устанавливая IP-адрес и маску подсети моего ПК каждый раз, но он didn' t работа. Я don' t знают почему! Поэтому я сбросил его для помех. Какое-либо предложение, как я могу достигнуть камеры, не имея необходимость сбрасывать IP-адрес моего ПК каждый раз? – Salahuddin Ahmed 12 October 2017 в 05:08

После установки просто:

1.

sudo mysql

(да, нет пользователя, нет прохода)

2. Вы сейчас в консоль mysql:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';

3.

ПРИВИЛЕГИИ ПРОМЫВКИ;

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

    mysql -u root -p my_new_pass

16
ответ дан 17 April 2019 в 04:20
  • 1
    жесткая перезагрузка на камере? Обновить встроенное микропрограммное обеспечение для него? it' s не ясный, что Ваша камера успешно получает информацию о конфигурации от сервера DHCP. Если и Ваш компьютер и Ваша камера получение их конфигурационной информации с того же сервера DHCP, то необходимо быть в состоянии достигнуть камеры от любого устройства на LAN. Можно использовать wireshark и отфильтровать на известном MAC-адресе камеры для поиска и устранения неисправностей проблемы DHCP. – BISI 19 October 2017 в 03:18
  1. есть учетная запись пользователя по умолчанию.

     $ vim /etc/mysql/debian.cnf
     

    вы получите от него эту учетную запись следующим образом:

     user = debian-sys-maint
    пароль = nUZTARYslBsASzpw
     
  2. вы входите в систему с этой учетной записью

     $ mysql -u debian-sys-maint -p
     
  3. отредактируйте пароль root

     mysql> покажите базы данных ;
    
    mysql> используйте mysql;
    
    mysql> обновить набор пользователей authentication_string = PASSWORD ("new_password"), где user = 'root';
    
    mysql> обновить пользовательский набор plugin = "mysql_native_password";
    
    mysql> очистить привилегии;
    
    mysql> выйти;
     
  4. перезапустить mysql

     $ /etc/init.d/mysql restart;
     

, тогда вы можете mysql -u root -p с предыдущими настройками.

5
ответ дан 17 April 2019 в 04:20

Вот как настроить mysql-server с запросом пароля терминала в Ubuntu 18.10.

  1. Загрузите MySQL APT Repository через https://dev.mysql.com/downloads/repo/apt/
  2. cd в свой каталог, куда вы загрузили, и запустите dpkg -i mysql-apt-config_0.8.13-1_all.deb (проверьте номер вашей версии)
  3. В меню подсказки выберите последний вариант «ok», а затем снова «ok».

  4. Обновите и установите mysql-server и mysql-client:

sudo apt update
sudo apt install mysql-server mysql-client
  1. Введите свой пароль root в приглашении.
  2. Выберите «Использовать устаревший метод аутентификации» , если ваши работающие фреймворки / приложения (например, laravel) еще не поддерживают новое «Надежное шифрование паролей» , в противном случае, если ваша структура / приложение поддерживает «Надежное шифрование паролей» , выберите его.
  3. Войдите в систему как root и проверьте, работает ли он.
-1
ответ дан 22 November 2019 в 23:46

Другие вопросы по тегам:

Похожие вопросы: