Как изменить пароль и имя пользователя MySQL на сервере ubuntu? Нужно ли останавливать службу mysql перед установкой каких-либо изменений?
У меня есть установка phpmyadmin, будет ли phpmyadmin автоматически обновляться?
Как изменить пароль и имя пользователя MySQL на сервере ubuntu? Нужно ли останавливать службу mysql перед установкой каких-либо изменений?
У меня есть установка phpmyadmin, будет ли phpmyadmin автоматически обновляться?
Установите/измените/сбросьте пароль root для MySQL в Ubuntu Linux. Введите следующие строки в своем терминале.
sudo /etc/init.d/mysql stop
Запустите конфигурацию mysqld
: sudo mysqld --skip-grant-tables &
В некоторых случаях вам сначала нужно создать /var/run/mysqld
:
sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
sudo service mysql start
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-centric.
См. Дополнительную информацию:
https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html
Единственный метод, который работал для меня, - это тот, который описан здесь (я запускаю 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
Я поделился пошаговым окончательным решением с 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;
Что сработало для меня (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
Изменить пароль пользователя MySQL.
Этот метод предоставляет пароль для истории командной строки, эти команды должны выполняться как root.
Вход через инструмент командной строки mysql:
mysql -uroot -poldpassword
Запустите эту команду:
SET PASSWORD FOR [email protected]'localhost' = PASSWORD('newpassword');
или
Запустите эту команду, которая устанавливает пароль для текущего пользователя ( "root" для этого случая):
SET PASSWORD = PASSWORD ('newpassword');
Я столкнулся с проблемами с 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;
Если вы хотите изменить пароль администратора 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. Убедитесь, что по крайней мере 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
Остановить MySQL sudo service mysql stop
Создайте каталог службы MySQL. sudo mkdir/var/run/mysqld
Предоставьте пользователю MySQL разрешение на запись в каталог службы. sudo chown mysql: /var/run/mysqld
Запустите 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 = '%'; ВЫХОД;
Отключите MySQL. sudo mysqladmin -S/var/run/mysqld/mysqld.sock shutdown
Сначала запустите службу MySQL. sudo service mysql start
Это решение для меня. Я работаю в 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';
Это решение относится к предыдущей версии MySQL. Войдя в MySQL с помощью проверки подлинности сокетов, вы можете это сделать.
sudo mysql -u root
Затем можно выполнить следующую команду.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Подробности доступны здесь.
Повторение комментария 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 версии 14.14 Distrib 5.7.22 выполните следующий шаг для сброса пароля mysql.
sudo systemctl stop mysql
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
sudo systemctl daemon-reload
sudo systemctl start mysql
sudo mysql -u root
FLUSH PRIVILEGES;
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';
UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';
sudo systemctl revert mysql
и наконец
sudo systemctl restart mysql
Теперь наслаждайтесь
Если вы знаете свой текущий пароль, вам не нужно останавливать сервер 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, это может работать по-другому - источник).
На компьютере с сервером выполните следующую команду, чтобы изменить свой пароль root MySQL (замените myhash
хешем вашего пароля как напечатанным первой командой):
mysql -u root -p < <(echo "SET PASSWORD FOR [email protected] = 'myhash';")
По желанию, пусть немного параноид: на вашем локальном компьютере очистите экран терминала с помощью clear
и очистите прокрутку виртуального терминала, чтобы скрыть пароль cleartext, указанный в приведенной выше команде.
Чтобы обновить "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
Тебе это не нужно. Просто войдите:
mysql -u root -p
Затем измените текущий пароль пользователя как подсказку mysql>
:
mysql> set password=password('the_new_password');
mysql> flush privileges;
Вместо сброса пароля на локальном компьютере работает работа, если у вас есть настройка phpmyadmin
для подключения без указания пароля или имени пользователя. Проверьте это, запустив mysql
, apache
и т.д. У меня есть xampp
, установленный на моем локальном компьютере. Поэтому запуск xampp начнет все необходимые услуги. Теперь переход на http://localhost/phpmyadmin
показывает мне все базы данных. Это подтверждает, что вы сохранили имя пользователя и пароль в файле конфигурации phpmyadmin, который можно найти в месте установки phpmyadmin
. Если у вас установлена xampp
, папка phpmyadmin
может быть найдена в корневой папке установки xampp
. Найдите слово password
в файле config.inc.php
. Там вы найдете password
и username
.
Вы можете легко изменить пароль mysql, если он развернут на xampp через предоставленный phpadmin gui.
phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)
Вы можете использовать эту команду:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
после этого, пожалуйста, используйте flush:
FLUSH PRIVILEGES;
для mysql 5.6 эта команда работает, и вы можете установить пароль через мастер:
sudo dpkg-reconfigure mysql-server-5.6
Вы можете попробовать выполнить следующие шаги для сброса пароля 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
Установка пароля MySQL
sudo/etc/init.d/mysql stop
sudo mkdir/var/run/mysqld/
sudo chown mysql/var/run/mysqld/
sudo mysqld_safe --skip-grant-tables & amp;
sudo mysql -u root
используйте mysql;
update user set authentication_string=PASSWORD("New_Passwore_Here") where
User = 'root';
Сохраните изменения
сбрасывать привилегии; выход;
остановить MySQL safe_mode и запустить службу MySQL по умолчанию
sudo/etc/init.d/mysql stop
sudo/etc/init.d/mysql start
sudo mysql -u root -p
*** Источник: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/
при изменении/сбросе пароля MySQL следующие команды, перечисленные выше, не помогли. Я обнаружил, что переход в терминал и использование этих команд бессмысленно. вместо этого используйте команду sudo stop all. DELETE SYSTEM 32 для окон, если это помогает.
Для сброса или изменения пароля введите sudo dpkg-reconfigure mysql-server-XX
(XX - это версия mysql, которую вы установили, т.е. 5.6, 5.7), а затем вы предложите экран, на котором вы должны установить новый пароль, а затем на следующем шаге подтвердите пароль и просто подождите минутку. Это.
Я должен был пройти этот маршрут по 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
Затем:
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 Успех.
Все сделано!
Поскольку документация 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).
Измените пароль 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".
Пройдя несколько часов в интернете, наконец-то нашел решение здесь: https://linuxconfig.org/how-to-reset-root-mysql-password-on-ubuntu-18-04-bionic-beaver-linux