Как сбросить или изменить пароль root MySQL?

Как изменить пароль и имя пользователя MySQL root на сервере ubuntu? Нужно ли останавливать службу mysql перед установкой каких-либо изменений?

У меня также есть настройка phpmyadmin, будет ли phpmyadmin обновляться автоматически?

24 ответов


установить / изменить / сбросить пароль MySQL root на Ubuntu Linux. Введите следующие строки в терминале.

  1. остановить сервер MySQL: sudo /etc/init.d/mysql stop
  2. запустите конфигурацию mysqld:sudo mysqld --skip-grant-tables &
  3. войдите в MySQL как root:mysql -u root mysql
  4. заменить YOURNEWPASSWORD С новым паролем:

    UPDATE
      mysql.user
    SET
      Password = PASSWORD('YOURNEWPASSWORD')
    WHERE
      User = 'root';
    FLUSH PRIVILEGES;
    exit;
    

Примечание: В некоторых версиях, если password столбец не существует, вы можете захотеть попробуйте:
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

Примечание: этот метод не считается самым безопасным способом сброса пароля, однако он работает.

ссылки:

  1. установить / изменить / сбросить пароль MySQL root на Ubuntu Linux
  2. как сбросить пароль Root

официальный и простой способ сбросить пароль root на сервере ubuntu...

если вы находитесь на 16.04, 14.04, 12.04:

sudo dpkg-reconfigure mysql-server-5.5

если вы находитесь на 10.04:

sudo dpkg-reconfigure mysql-server-5.1

если вы не уверены, какая версия mysql-server установлена, вы можете попробовать:

dpkg --get-selections | grep mysql-server

обновленные заметки для mysql-server-5.7

обратите внимание, что если вы используете mysql-server-5.7, вы не можете использовать более простой метод dpkg-reconfigure, показанный выше.

если вы знаете пароль, войдите в систему и запустите это:

UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;

кроме того, вы можете использовать следующее:

sudo mysql_secure_installation

это задаст вам ряд вопросов о защите вашей установки (настоятельно рекомендуется), в том числе, если вы хотите предоставить новый пароль root.

если вы не знаете пароль root, обратитесь к этой Ubuntu-ориентированной записи на процесс.

подробнее info:

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html


Я разделяю шаг за шагом окончательное решение для сброса пароля MySQL в Linux Ubuntu.

ссылка взята из блога (dbrnd.com)

Шаг 1: Остановить Службу MySQL.

sudo stop mysql

Шаг 2: Убейте всех работающих mysqld.

sudo killall -9 mysqld

Шаг 3: Запуск mysqld в безопасном режиме.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Шаг 4: Запустите mysql client

mysql -u root

Шаг 5: После успешного входа в систему, выполните эта команда для изменения любого пароля.

FLUSH PRIVILEGES;

Шаг 6: Вы можете обновить пароль root mysql .

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

Примечание: на MySQL 5.7, колонка Password называется authentication_string.

Шаг 7: Пожалуйста, выполните эту команду.

FLUSH PRIVILEGES;

единственный метод, который работал для меня-описанный здесь (я запускаю ubuntu 14.04). Для ясности я сделал следующие шаги:--14-->

  1. sudo vim /etc/mysql/my.cnf
  2. добавить в конце следующие строки:

    [mysqld]
    
    skip-grant-tables
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root'; - посмотрите сверху на определите, вызывается ли столбец password пароль или authentication_string

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - используйте соответствующий столбец пароля сверху

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. удалить строки, добавленные в шаге 2 если вы хотите сохранить вашу безопасность стандарты.

  12. sudo service mysql restart

для справки:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html


измените пароль корня MySQL.

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

  1. войти через mysql инструмент командной строки:

    mysql -uroot -poldpassword
    
  2. выполните эту команду:

    SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
    

или

  1. запустите эту команду, которая устанавливает пароль для текущего пользователя ("root" для этого случая) :

    Установить пароль = пароль ('newpassword');


что сработало для меня (Ubuntu 16.04, mysql 5.7):

Остановить MySQL

sudo service mysql stop

сделать каталог службы MySQL.

sudo mkdir /var/run/mysqld

Дайте пользователю MySQL разрешение на запись в каталог службы.

sudo chown mysql: /var/run/mysqld

запустите MySQL вручную, без проверки разрешений или сети.

sudo mysqld_safe --skip-grant-tables --skip-networking &

на другой консоли, войдите в систему без пароля.

mysql -uroot mysql

затем:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%';
EXIT;

выключить Для MySQL.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

запустите службу MySQL нормально.

sudo service mysql start

Если вы хотите изменить пароль root в MySQL в терминале введите:

sudo dpkg-reconfigure mysql-server-5.5

MySQL сервер будет остановлен, и вам будет предложено ввести новый пароль.


это работает как шарм, я сделал это для Ubuntu 16.04. Полный кредит ниже ссылки, как я получил его оттуда. [https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts][1]

Остановить MySQL

sudo service mysql stop

сделать каталог службы MySQL. sudo mkdir/var/run / mysqld

Дайте пользователю MySQL разрешение на запись в каталог службы.

sudo chown mysql: /var/run/mysqld

запустить MySQL вручную, без проверки разрешений или сетевой.

sudo mysqld_safe --skip-grant-tables --skip-networking &

войдите без пароля.

mysql -uroot mysql

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

UPDATE mysql.user SET 
authentication_string=PASSWORD('YOURNEWPASSWORD'), 
plugin='mysql_native_password' WHERE User='root' AND Host='%';
EXIT;

выключите MySQL.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

запустите службу MySQL нормально.

sudo service mysql start

  1. Остановить MySQL служба sudo mysql stop

  2. сделать каталог службы MySQL. sudo mkdir/var/run / mysqld

  3. дайте разрешение пользователя MySQL на запись в каталог службы. sudo chown mysql:/var/run / mysqld

  4. запустите MySQL вручную, без проверки разрешений или сети. судо mysqld_safe --Skip-с грант-столы --скип-сетей &

5.Войдите в систему без пароля. в MySQL -уроот с MySQL

6.Обновите пароль пользователя root.

обновить mysql.пользователь устанавливает authentication_string=пароль ('YOURNEWPASSWORD'), плагин='mysql_native_password', где User='root' и Host='%'; Выход;

  1. выключить MySQL. судо команды mysqladmin -с /Вар/работа/тузды/тузды.носок выключение

  2. запустите службу MySQL нормально. служба sudo mysql start


повторяя комментарий rogerdpack: если вы не знаете пароль root MySQL, и вас не волнуют данные/настройки MySQL, вы можете переустановить его и сбросить пароль root следующим образом:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client 

во время установки вы можете выбрать пароль root:

enter image description here


я столкнулся с проблемами с ubuntu 18.04 и mysql 5.7, это решение

MYSQL-SERVER >= 5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

MYSQL-SERVER

sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

Если вы знаете свой текущий пароль, вам не нужно останавливать сервер mysql. Откройте терминал ubuntu. Войдите в mysql, используя:

mysql - username -p

введите свой пароль. Это приведет вас в консоль mysql. Внутри консоли введите:

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

затем сбросить привилегии с помощью:

> flush privileges;

тогда вы все сделали.


когда вы используете MySQL PASSWORD() в системе, где вы хотите изменить пароль, это может привести к тому, что пароль появится в журнале MySQL в открытом тексте [источник]. Сохраняя их, их резервные копии и т. д. как безопасный, как пароль звучит как кошмар для меня, поэтому я предпочитаю делать это следующим образом:

  1. на местные машина, запустите это с паролем:

     mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")
    

    обратите внимание на пространство впереди, чтобы предотвратить его появление в история bash (для других дистрибутивов, чем Ubuntu, это может работать по-другому -источник).

  2. на вашем компьютере сервера выполните следующую команду, чтобы изменить свой пароль MySQL root (replace myhash с хэшем вашего пароля, напечатанным первой командой):

    mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
    
  3. необязательно, давайте будем немного параноиком: на вашем локальном компьютере очистите экран терминала с помощью clear и очистить виртуальный терминал прокрутки, чтобы скрыть пароль, упомянутые в приведенной выше команде.


чтобы обновить пароль пользователя Mysql" root", вы должны иметь в виду, что вам понадобятся разрешения суперпользователя для этого. Если у вас есть привилегии super user, попробуйте следующие команды:

в MySQL 5.7.6 и позже

sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass

MySQL 5.7.5 и ранее

sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass

вместо сброса пароля есть работа на локальном компьютере, если у вас есть setup phpmyadmin подключиться без пароля или имени пользователя. Проверьте это, запустив mysql, apache etc. У меня xampp установлен на моей локальной машине. Таким образом, запуск xampp запустит все необходимые службы. Теперь перейдем к http://localhost/phpmyadmin показывает мне все базы данных. Это подтверждает, что вы сохранили имя пользователя и пароль в файле конфигурации phpmyadmin, который можно найти в phpmyadmin место установки. Если у вас есть xampp установлена phpmyadmin папку можно найти в корневой папке xampp установки. Поиск слова password на . Там вы найдете password и username.


вы можете легко изменить пароль MySQL, если развернут на XAMPP через Гуй phpadmin.

phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)

вы можете использовать эту команду :

обновить mysql.user SET Password=пароль ('newpwd'), где User= 'root';

после этого просьба использовать флеш FLUSH ПРИВИЛЕГИИ;


для MySQL 5.6 эта команда работает и вы можете установить пароль через Мастер:

sudo dpkg-reconfigure mysql-server-5.6

вам не нужно все это. Просто войдите в систему:

mysql -u root -p

затем измените пароль текущего пользователя как mysql> запрос:

mysql> set password=password('the_new_password');
mysql> flush privileges;

это решение принадлежит к предыдущей версии MySQL. Войдя в MySQL с помощью аутентификации сокета, вы можете это сделать.

sudo mysql -u root

затем можно выполнить следующую команду.

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

подробности здесь .


при изменении / сбросе пароля MySQL следующие команды, перечисленные выше, не помогли. Я обнаружил, что входить в терминал и использовать эти команды бессмысленно. вместо этого используйте команду sudo stop everything. Удалите SYSTEM 32 для windows, если это поможет.


для сброса или изменения пароля введите sudo dpkg-reconfigure mysql-server-X.X (X. X-версия mysql, которую вы установили, т. е. 5.6, 5.7), а затем вы запросите экран, где вы должны установить новый пароль, а затем на следующем шаге подтвердите пароль и просто подождите минуту. Вот и все.


мне пришлось пройти этот маршрут на Ubuntu 16.04.1 LTS. Это своего рода смесь некоторых других ответов выше, но ни один из них не помог. Я потратил час или больше, пробуя все другие предложения с веб-сайта MySql на все, так что я, наконец, получил его работу с:

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

Примечание: там не было /var/log / mysqld.только журнал /var/log/mysql / error.бревно

Также обратите внимание, что это не сработало для меня:
sudo dpkg-reconfigure mysql-server-5.7

Не:
sudo dpkg-reconfigure --force mysql-server-5.5

Сделайте каталог службы MySQL.
sudo mkdir /var/run/mysqld

Дайте разрешение пользователя MySQL на запись в каталог службы.
sudo chown mysql: /var/run/mysqld

Затем:

  1. убить текущий mysqld pid
  2. запустите mysqld с sudo / usr/sbin / mysqld &
  3. выполнить / usr/bin / mysql_secure_installation

    выход из mysql_secure_installation

    root@myServer:~# / usr/bin / mysql_secure_installation

    защита развертывания сервера MySQL.

    введите пароль пользователя root:

    VALIDATE PASSWORD плагин может использоваться для проверки паролей и повысить безопасность. Он проверяет прочность пароля и позволяет пользователям устанавливать только те пароли, которые достаточно безопасно. Хотите настроить плагин проверки пароля?

    нажмите y / Y для Да, любой другой ключ для Нет: нет Использование существующего пароля для root. Изменить пароль для root ? ((Нажмите y / Y для Да, любой другой ключ для Нет): y

    новый пароль:

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

    удалить анонимных пользователей? (Нажмите y / Y для Да, любой другой ключ для Нет): y Успех.

    нормально, корень должен только быть позволен соединиться от "localhost". Это гарантирует, что кто-то не может догадаться пароль от сети.

    запретить логин root удаленно? (Нажмите y / Y для Да, любой другой ключ для No): y Успех.

    по умолчанию MySQL поставляется с базой данных с именем "test", которая любой может получить доступ. Это также предназначено только для испытания, и должны быть удалены перед переходом в производство окружающая среда.

    удалить тестовую базу данных и получить к ней доступ? (Нажмите y / Y для Да, любой другой ключ для Нет): y

    • удаление тестовой базы данных... Успех.

    • удаление привилегий при тестировании база данных... Успех.

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

    перезагрузить таблицы привилегий сейчас? (Нажмите y / Y для Да, любой другой ключ для Нет): y Успех.

    все готово!


вы можете попробовать эти несколько шагов для сброса пароля root mysql 5.7:

остановить службу Mysql 1st

sudo /etc/init.d/mysql stop 

войти как root без пароля sudo mysqld_safe --skip-grant-tables &

после входа в mysql терминал вам нужно будет выполнить команды больше:

use mysql;




UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';


flush privileges;


sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

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