Как reset или изменить пароль пользователя MySQL?

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

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

Ответ 1

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

  1. Остановите сервер MySQL: sudo /etc/init.d/mysql stop
  2. Запустите конфигурацию mysqld: sudo mysqld --skip-grant-tables &

    В некоторых случаях вам сначала нужно создать /var/run/mysqld:

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
    
  3. Выполнить: sudo service mysql start
  4. Войдите в MySQL как root: mysql -u root mysql
  5. Замените 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. Установить/изменить/сбросить пароль root для MySQL в Ubuntu Linux
  2. Как сбросить пароль root

Ответ 2

Официальный и простой способ сбросить пароль 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-centric.

См. Дополнительную информацию:

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

Ответ 3

Единственный метод, который работал для меня, - это тот, который описан здесь (я запускаю 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

Ответ 4

Я поделился пошаговым окончательным решением с reset паролем 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

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;

Ответ 5

Что сработало для меня (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='localhost';
EXIT;

Отключи MySQL.

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

Запустите службу MySQL в обычном режиме.

sudo service mysql start

Ответ 6

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

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

  • Вход через инструмент командной строки mysql:

    mysql -uroot -poldpassword
    
  • Запустите эту команду:

    SET PASSWORD FOR [email protected]'localhost' = PASSWORD('newpassword');
    

или

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

    SET PASSWORD = PASSWORD ('newpassword');

Ответ 7

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

Попробуйте перезапустить MySQL-сервер перед выполнением команд

sudo service mysql restart

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 & lt; 5.7

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;

Ответ 8

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

sudo dpkg-reconfigure mysql-server-5.5

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

Ответ 9

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

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

Отключи MySQL.

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

Запустите службу MySQL в обычном режиме.

sudo service mysql start

Ответ 10

  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 - -S kip-grant-tables - -S kip-networking &

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

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

UPDATE mysql.user SET authentication_string = PASSWORD ('YOURNEWPASSWORD'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = '%'; ВЫХОД;

  1. Отключите MySQL. sudo mysqladmin -S/var/run/mysqld/mysqld.sock shutdown

  2. Сначала запустите службу MySQL. sudo service mysql start

Ответ 11

Это решение для меня. Я работаю в Ubuntu 18.04: fooobar.com/questions/32519/...

Но важно это изменение на последнем шаге:

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

Ответ 12

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

sudo mysql -u root

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

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

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

Ответ 13

Повторение комментария 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

Ответ 14

Для Ubuntu 18.04 и mysql версии 14.14 Distrib 5.7.22 выполните следующий шаг для сброса пароля mysql.

Шаг 1

sudo systemctl stop mysql

Шаг 2

sudo systemctl edit mysql

Эта команда откроет новый файл в редакторе nano, который вы будете использовать для редактирования переопределений службы MySQL. Они изменяют параметры сервиса по умолчанию для MySQL. Этот файл будет пустым, поэтому добавьте следующее содержимое:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking

Шаг 3

sudo systemctl daemon-reload
sudo systemctl start mysql

Шаг 4

sudo mysql -u root

Шаг 5

FLUSH PRIVILEGES;

Шаг 6

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';

Шаг 7

UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';

Шаг 8

sudo systemctl revert mysql

и наконец

sudo systemctl restart mysql

Теперь наслаждайтесь

Ответ 15

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

mysql - username -p

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

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

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

> flush privileges;

Тогда вы все закончите.

Ответ 16

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

  • На вашей локальной машине запустите это с помощью своего пароля:

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

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

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

    mysql -u root -p < <(echo "SET PASSWORD FOR [email protected] = 'myhash';")
    
  • По желанию, пусть немного параноид: на вашем локальном компьютере очистите экран терминала с помощью clear и очистите прокрутку виртуального терминала, чтобы скрыть пароль cleartext, указанный в приведенной выше команде.

Ответ 17

Чтобы обновить "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

Ответ 18

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

mysql -u root -p

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

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

Ответ 19

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

Ответ 20

Вы можете легко изменить пароль mysql, если он развернут на xampp через предоставленный phpadmin gui.

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

Ответ 21

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

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

после этого, пожалуйста, используйте flush:

FLUSH PRIVILEGES;

Ответ 22

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

sudo dpkg-reconfigure mysql-server-5.6

Ответ 23

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

Остановить службу Mysql 1-й

sudo /etc/init.d/mysql stop 

Вход как root без пароля sudo mysqld_safe --skip-grant-tables &

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

use mysql;




UPDATE mysql.user SET authentication_string=PASSWORD('[email protected]*^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

Ответ 24

Установка пароля MySQL

  1. остановить службу базы данных MySQL

sudo/etc/init.d/mysql stop

  1. создайте новый каталог mysqld

sudo mkdir/var/run/mysqld/

  1. предоставить пользователю mysql доступ

sudo chown mysql/var/run/mysqld/

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

sudo mysqld_safe --skip-grant-tables & amp;

  1. вход на сервер базы данных без пароля

sudo mysql -u root

  1. использовать базу данных MySQL по умолчанию

используйте mysql;

  1. изменить пароль root

update user set authentication_string=PASSWORD("New_Passwore_Here") where User = 'root';

  1. Сохраните изменения

    сбрасывать привилегии; выход;

  2. остановить MySQL safe_mode и запустить службу MySQL по умолчанию

sudo/etc/init.d/mysql stop

sudo/etc/init.d/mysql start

  1. войдите в базу данных MySQL, используя новый пароль root

sudo mysql -u root -p

*** Источник: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/

Ответ 25

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

Ответ 26

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

Ответ 27

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Все сделано!

Ответ 28

Поскольку документация mysql в функции password() говорит:

Эта функция была удалена в MySQL 8.0.11.

Это приводит к недействительности практически всех существующих ответов для mysql v8.0.11 и новее.

В документации по mysql новый общий способ сброса пароля root выглядит следующим образом:

В предыдущих разделах приведены инструкции по сбросу пароля, специально предназначенные для систем Windows и Unix и Unix. В качестве альтернативы, на любой платформе вы можете сбросить пароль с помощью клиента mysql (но этот подход менее безопасен):

Если необходимо, остановите сервер MySQL, а затем перезапустите его с помощью опции -skip-grant-tables. Это позволяет любому подключиться без пароля и со всеми привилегиями и отключает такие операторы управления учетными записями, как ALTER USER и SET PASSWORD. Поскольку это небезопасно, если сервер запущен с параметром -skip-grant-tables, он автоматически позволяет -skip-network предотвращать удаленные подключения.

Подключитесь к серверу MySQL с помощью клиента mysql; пароль не нужен, поскольку сервер был запущен с помощью -skip-grant-tables:

shell> mysql

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

mysql> FLUSH PRIVILEGES;

Затем измените пароль учетной записи "root" @localhost. Замените пароль на пароль, который вы хотите использовать. Чтобы изменить пароль для учетной записи root с другой частью имени узла, измените инструкции для использования этого имени хоста.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Теперь вы можете подключиться к серверу MySQL как root, используя новый пароль. Остановите сервер и перезапустите его в обычном режиме (без -skip-grant-tables и -skip-network options).

Ответ 29

Измените пароль root для MySQL. Проще

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

Войдите через инструмент командной строки MySQL, используя старый пароль:

Шаг 1

mysql -uroot -p"your_old_password"

Затем выполните команду ниже:

Шаг 2

SET PASSWORD FOR [email protected]'localhost' = PASSWORD('your_new_password');

Метод 2 (Сначала войдите, используя старый пароль, используя приведенную выше команду)

Запустите эту команду, которая устанавливает пароль для текущего пользователя:

SET PASSWORD = PASSWORD('your_new_password');

Вышеприведенная команда предназначена для текущего пользователя. Если вы хотите изменить пароль для другого пользователя, вы можете поставить имя пользователя вместо "root".