Как сбросить или изменить пароль root MySQL?
Как изменить пароль и имя пользователя MySQL root на сервере ubuntu? Нужно ли останавливать службу mysql перед установкой каких-либо изменений?
У меня также есть настройка phpmyadmin, будет ли phpmyadmin обновляться автоматически?
24 ответов
установить / изменить / сбросить пароль MySQL root на Ubuntu Linux. Введите следующие строки в терминале.
- остановить сервер MySQL:
sudo /etc/init.d/mysql stop
- запустите конфигурацию mysqld:
sudo mysqld --skip-grant-tables &
- войдите в MySQL как root:
mysql -u root mysql
-
заменить
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';
Примечание: этот метод не считается самым безопасным способом сброса пароля, однако он работает.
ссылки:
официальный и простой способ сбросить пароль 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-->
sudo vim /etc/mysql/my.cnf
-
добавить в конце следующие строки:
[mysqld] skip-grant-tables
sudo service mysql restart
mysql -u root
use mysql
select * from mysql.user where user = 'root';
- посмотрите сверху на определите, вызывается ли столбец password пароль или authentication_stringUPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';
- используйте соответствующий столбец пароля сверхуFLUSH PRIVILEGES;
exit
sudo vim /etc/mysql/my.cnf
удалить строки, добавленные в шаге 2 если вы хотите сохранить вашу безопасность стандарты.
sudo service mysql restart
для справки:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
измените пароль корня MySQL.
этот метод предоставляет пароль для истории командной строки, эти команды должны выполняться как root.
-
войти через mysql инструмент командной строки:
mysql -uroot -poldpassword
-
выполните эту команду:
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
или
-
запустите эту команду, которая устанавливает пароль для текущего пользователя ("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
Остановить MySQL служба sudo mysql stop
сделать каталог службы MySQL. sudo mkdir/var/run / mysqld
дайте разрешение пользователя MySQL на запись в каталог службы. sudo chown mysql:/var/run / mysqld
запустите MySQL вручную, без проверки разрешений или сети. судо mysqld_safe --Skip-с грант-столы --скип-сетей &
5.Войдите в систему без пароля. в MySQL -уроот с MySQL
6.Обновите пароль пользователя root.
обновить mysql.пользователь устанавливает authentication_string=пароль ('YOURNEWPASSWORD'), плагин='mysql_native_password', где User='root' и Host='%'; Выход;
выключить MySQL. судо команды mysqladmin -с /Вар/работа/тузды/тузды.носок выключение
запустите службу 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:
я столкнулся с проблемами с 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 в открытом тексте [источник]. Сохраняя их, их резервные копии и т. д. как безопасный, как пароль звучит как кошмар для меня, поэтому я предпочитаю делать это следующим образом:
-
на местные машина, запустите это с паролем:
mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")
обратите внимание на пространство впереди, чтобы предотвратить его появление в история bash (для других дистрибутивов, чем Ubuntu, это может работать по-другому -источник).
-
на вашем компьютере сервера выполните следующую команду, чтобы изменить свой пароль MySQL root (replace
myhash
с хэшем вашего пароля, напечатанным первой командой):mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
необязательно, давайте будем немного параноиком: на вашем локальном компьютере очистите экран терминала с помощью
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
Затем:
- убить текущий mysqld pid
- запустите mysqld с sudo / usr/sbin / mysqld &
-
выполнить / usr/bin / mysql_secure_installation
выход из mysql_secure_installationroot@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