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


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

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

24 110

24 ответа:

установить / изменить / сбросить пароль корня MySQL на 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 на 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-сервера установлена, вы можете попробовать:

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-ориентированной записи на процесс.

Посмотреть больше информация:

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: Вы можете обновить пароль корня mysql .

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

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

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

FLUSH PRIVILEGES;

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

  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'; - посмотрите на вершину, чтобы определите, вызывается ли столбец пароля пароль или 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 service mysql stop

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

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

  4. запустите MySQL вручную, без проверки разрешений или сети. sudo mysqld_safe --skip-grant-tables --skip-networking &

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

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

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

  1. отключить MySQL. sudo mysqladmin-S /var/run/mysqld/mysqld.носок выключение

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

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

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. на local машина, это ваш пароль:

     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 и очистить ваш виртуальный терминал прокрутки, чтобы скрыть пароль, упомянутые в приведенной выше команде.

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

в 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

вместо сброса пароля есть работа вокруг на локальном компьютере, если у вас есть настройки phpmyadmin подключиться без пароля или имени пользователя. Проверьте это, запустив mysql,apache etc. У меня есть xampp установлен на моей локальной машине. Таким образом, запуск xampp запустит все необходимые службы. Теперь собираюсь http://localhost/phpmyadmin показывает мне все базы данных. Это подтверждает, что вы сохранили имя пользователя и passsword в конфигурационном файле 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';

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

для 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/журнал/MySQL в/ошибки.бревно

Также обратите внимание, что это не сработало для меня:
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. run /usr / bin / mysql_secure_installation

    выход из mysql_secure_installation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    все готово!

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

остановить Mysql Service 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 Ubuntu 16.04