Как сбросить или изменить пароль администратора MySQL?
Как изменить пароль и имя пользователя MySQL root на сервере ubuntu? Нужно ли останавливать службу mysql перед установкой каких-либо изменений?
У меня также есть настройка phpmyadmin, будет ли phpmyadmin обновляться автоматически?
24 ответа:
установить / изменить / сбросить пароль корня MySQL на 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-сервера установлена, вы можете попробовать:
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). Для ясности, вот шаги, которым я следовал:
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';
- посмотрите на вершину, чтобы определите, вызывается ли столбец пароля пароль или authentication_string
UPDATE 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 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 &
5.Войдите в систему без пароля. mysql-uroot mysql
6.Обновить пароль для пользователя root.
обновить mysql.пользователь может установить authentication_string=пароль('YOURNEWPASSWORD'), плагин='mysql_native_password', где пользователь='корень' и Host='%'; Выход;
отключить MySQL. sudo mysqladmin-S /var/run/mysqld/mysqld.носок выключение
запустите службу 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:
я столкнулся с проблемами с 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 в открытом виде [источник]. Сохраняя их, их резервные копии и т. д. как безопасно, как пароль звучит как кошмар для меня, так что я скорее хотел бы сделать это следующим образом:
на local машина, это ваш пароль:
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
и очистить ваш виртуальный терминал прокрутки, чтобы скрыть пароль, упомянутые в приведенной выше команде.
чтобы обновить пароль пользователя" 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
Затем:
- убить текущий mysqld pid
- запустите mysqld с sudo / usr/sbin / mysqld &
run /usr / bin / mysql_secure_installation
выход из mysql_secure_installationroot@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