I am new to MySQL and am setting up a new instance of MySQL using the Windows Installer and am being prompted for two passwords.
The Current Root Password and the MySQL Root Password.
Is there a standard Current Root Password for new installations?
What is the difference between the two passwords.
asked Nov 26, 2013 at 16:17
2
If you don’t remember your current root password and want to install new instance of MySQL and you have applied other ways like "-init-file.txt"
, but still failed.
There is another solution which worked for me. Uninstalling MySQL from control panel didn’t remove all files, it left some references in the system.
-
To delete MySQL files completely, open the folder path
C:Usersyour pc nameAppDataRoaming
and delete the MySQL folder. -
Then remove one more reference which is in
C:ProgramDataMySQL
, if not visible check your folder view options and uncheck «Don’t show hidden files». -
The last reference of MySQL exists in our system services:
Type «Services» in the search box of the taskbar. Find services related to MySQL and note them down. I have two in my case(MySQLRouter and MYSQL80).
Open the command prompt with administrator and type:
sc delete "ServiceName"
,In my case:
sc delete MySQL80
sc delete MySQLRouter
Ensure all services related to MySQL are removed by using the above command. Restart your computer and install your MySQL instance with a new configuration.
0
The standard password for user root is simply: password
Each user had its own password. So a password must belong to a user. So the only difference of password are just what they contain.
root is AFAIK the only user created upon installation. Did you create a new user after installation?
answered Nov 26, 2013 at 16:44
Mad Dog TannenMad Dog Tannen
7,0875 gold badges30 silver badges54 bronze badges
5
issue:- new mysql installation steps asks for current root password when it ideally should be prompting set new password option.
solution :-Issue could be due to existence of a previous unsuccessful mysql installation, leaving behind contents even after uninstalling.(at c:mysql,c:/ program files/mysql,c:/program data/mysql )
In my case they required manual deletion;after which new installation of mysql went on smooth .
(had to msconfig too, to handle unending windows hanging sometime during the process.)
answered Jun 24, 2020 at 8:16
Sneh Sneh
411 bronze badge
The community wiki has an excellent guide on the steps that one needs to follow.
Please note that uninstalling MySQL from the installer gives the option to remove all data as well, which by default is unselected.
Check the box and then uninstall MySQL.
After that, follow the guidelines in the community wiki.
answered May 13, 2020 at 11:34
Uninstall mysql all setup fully
Delete all files related to MySQL
From program files, program files x86:
C>username>appdata_>Roaming>mysql
After that install mysql
Walid
7002 gold badges11 silver badges27 bronze badges
answered Jul 14, 2020 at 14:15
Try switching to root user using su
or sudo -i
, if possible, then use password as password
.
answered Jan 23, 2021 at 13:31
Если у вас Linux, то смотрите статью «Как сбросить пароль root для MySQL или MariaDB».
Пароль пользователя root спрашивается во время установки СУБД. Если установка делалась вручную, то есть без инстолятора, как это описано, например, в этой статье, то пароль может быть не установлен вовсе.
Если вы используете какие-то готовые сборки, которые включают в себя MySQL/MariaDB, то обратитесь за паролем на официальные сайты этих сборок. Также попробуйте такие учётные данные:
- Пользователь: root
- Пароль: root
Если вы действительно забыли пароль MySQL/MariaDB и вам нужно сбросить пароль root в MySQL на Windows, то данная статья расскажет, как это сделать.
Шаг 1 — Определяем версию системы управления базой данных
Найдите, в какой папке у вас расположен файл mysqld.exe. При установке по данной инструкции, этот файл расположен в папке C:Serverbinmysql-8.0bin.
Откройте командную строку. Нам понадобятся права администратора, поэтому делаем следующее: нажмите Win+x и там выберите Windows PowerShell (администратор):
Теперь перейдите в командной строке в директорию с файлом mysqld.exe, для этого используйте команду вида:
cd путьдопапки
Например, у меня это папка C:Serverbinmysql-8.0bin, тогда команда такая:
cd C:Serverbinmysql-8.0bin
Нужно определить версию MySQL/MariaDB, для этого выполните команду:
.mysql --version
Пример вывода:
C:Serverbinmysql-8.0binmysqld.exe Ver 8.0.19 for Win64 on x86_64 (MySQL Community Server - GPL)
Шаг 2 — Остановка сервера базы данных
Для изменения пароля root вы должны заранее отключить сервер базы данных. Для MySQL и MariaDB вы можете сделать это командой:
net stop mysql
После того, как сервер остановлен, вы вручную получите к нему доступ для сброса пароля рута.
Шаг 3 — Перезапуск сервера базы данных без проверки разрешений
Если вы запускаете MySQL и MariaDB без загрузки информации о привилегиях пользователя, она позволит вам без ввода пароля получить доступ к командной строке базы данных с привилегиями рута. Это позволит вам получить доступ к базе данных без знания парольной фразы. Чтобы это сделать, вам нужно не дать базе данных загрузить таблицы привилегий, которые содержат информацию о привилегиях пользователя. Поскольку это несёт риск безопасности, вы также должны избежать сетевой активности, чтобы не допустить подключения других клиентов.
Запустите базу данных без загрузки таблиц привилегий и без доступа к сети:
.mysqld --skip-grant-tables --skip-networking --shared-memory
Программа НЕ должна завершить работу, то есть теперь в это окно командной строки ничего нельзя ввести.
Шаг 4 — Смена пароля рута
Теперь вы можете подключиться к базе данных как пользователь рут, у которого не спросят пароль.
Открываем новое окно командной строки, можно без прав администратора.
Опять переходим в нужную папку
cd C:Serverbinmysql-8.0bin
И подключаемся к серверу MySQL/MariaDB
.mysql -u root
Вы сразу же увидите приглашение оболочки базы данных. Приглашение командной строки MySQL:
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 8 Server version: 8.0.19 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
Теперь, когда у вас имеется рут доступ, вы можете изменить пароль рута.
Простым способом смены пароля рута для современных версий MySQL является использование запроса ALTER USER. Тем не менее эта команда не будет работать прямо сейчас, поскольку таблицы привилегий не загружены. Давайте скажем серверу баз данных перегрузить таблицы привилегий введя команду:
FLUSH PRIVILEGES;
Теперь действительно мы можем поменять пароль рута.
Для MySQL 5.7.6 и новее, а также для MariaDB 10.1.20 и новее используйте следующую команду:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'новый_пароль';
Для MySQL 5.7.5 и старее, а также для MariaDB 10.1.20 и старее используйте:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('новый_пароль');
Не забудьте поменять новый_пароль на выбранный вами новый пароль.
Примечание: если команда ALTER USER не работает, то это обычно является признаком более серьёзной проблемы. Тем не менее вместо этой вы можете попробовать UPDATE … SET для сброса root пароля:
UPDATE mysql.user SET authentication_string = PASSWORD('новый_пароль') WHERE User = 'root' AND Host = 'localhost';
После этого не забудьте перегрузить таблицы привилегий:
FLUSH PRIVILEGES;
В любом случае вы должны видеть подтверждение, что команда успешно выполнена. Вывод:
Query OK, 0 rows affected (0.02 sec)
Выходим из сессии:
exit;
Пароль изменён, вы можете остановить запущенный вручную экземпляр сервера базы данных и перезапустить его как это было раньше.
Шаг 5 — Обычный перезапуск сервера базы данных
Для начала, остановите экземпляр сервера базы данных, который вы запустили вручную на Шаге 3. Для этого перейдите в окно с запущенной mysqld и нажмите Ctrl+c.
Затем перезапустите сервис обычным образом:
net start mysql
Теперь вы можете подтвердить, что новый пароль работает, запустите:
.mysql -u root -p
Эта команда должна вызвать приглашение в который нужно ввести новый пароль. Введите его, вы должны получить доступ к интерфейсу командной строки базы данных, как это обычно и происходит.
Заключение
Теперь вы восстановили административный доступ к серверу MySQL или MariaDB. Убедитесь, что новый пароль рута, который вы выбрали, безопасный и храните его в надёжном месте.
Ошибка «—shared-memory, or —named-pipe should be configured on NT OS»
Если при запуске mysqld вы столкнулись со следующей ошибкой:
[ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS
то вам необходимо к команде запуска mysqld добавить флаг —shared-memory.
Связанные статьи:
- MariaDB для Windows (100%)
- Как обновить MySQL (100%)
- Как обновить MariaDB в Windows (100%)
- Как сделать резервную копию баз данных MySQL (MariaDB) в Windows без phpMyAdmin (100%)
- Как в phpMyAdmin поменять настройки экспорта по умолчанию (100%)
- Как запустить Apache на Windows (RANDOM — 50%)
Содержание:
- Вход в учетную запись
root
без пароля на ОС Linux;- Смена пароля пользователя MySQL из терминала;
- Сброс пароля суперпользователя
root
на ОС Linux; - Сброс пароля суперпользователя
root
на ОС Windows; - Галопом по полезным MySQL-командам.
Вход в учетную запись root
без пароля на ОС Linux.
Начнем с того, что современные версии MySQL не запрашивают пароль суперпользователя при установке сервера. Если после установки сервера, пароль пользователя root
так и не был установлен, то консоль MySQL можно запустить БЕЗ ПАРОЛЯ от имени пользователя, от которого производилась установка сервера (или от имени которого работает/запущен MySQL-сервер).
В этом случае запуск консоли без пароля будет выглядеть следующим образом:
$ mysql -uroot mysql [(none)]> # или просто $ mysql mysql [(none)]>
Чтобы определить от какого пользователя запущен сервер MySQL, необходимо запустить консольную команду htop
(если htop
не установлен, то установите командой $ sudo apt install htop
). После запуска htop
нужно нажать клавишу F4(фильтр) и на клавиатуре набрать mysql
. В результате этих действий на экране отобразятся все процессы mysql
, а в графе USER
можно увидеть пользователя от которого работает сервер MySQL. Также в графе Command
расположен рабочий директорий, в котором находится файл родительского процесса mysql.pid
(имя может быть другим).
Далее, если пароль пользователя, от имени которого работает/запущен MySQL-сервер неизвестен, то задаем новый пароль этому пользователю командой $ sudo passwd mysql_user
(где mysql_user
— пользователь от которого работает MySQL) и заходим под этой учетной записью.
Смена пароля пользователя MySQL из командной строки.
Смена пароля root
БД MySQL из командной строки терминала:
$ mysqladmin -u root oldpassword newpassword
Смена пароля обычного пользователя БД MySQL из консоли терминала:
$ mysqladmin -u username -h hostname -p oldpassword newpassword
Сброс пароля суперпользователя root
на ОС Linux.
Если все таки пароль пользователя root
ранее был установлен или установлена старая версия MySQL или стоит сервер MariaDB, то для восстановления пароля к учетной записи root
необходимо как-то зайти в консоль MySQL с привилегиями суперпользователя root
, но при этом без пароля. Чтобы «просочится» в учетную запись root
без пароля, перезапустим сервер в безопасном режиме (mysqld_safe
), при этом отключим проверку информации о пользовательских привилегиях (параметр командной строки --skip-grant-tables
).
Далее, все команды выполняются на машине, где запущен MySQL-сервер.
Для начала остановим сервер баз данных MySQL. Заходим в терминал и пишем:
$ sudo systemctl stop mysql
# или
$ sudo service mysql stop
Теперь запускаем БД MySQL в безопасном режиме, а параметр командной строки --skip-grant-tables
отключит проверку пароля:
# запуск БД MySQL в безопасном режиме $ sudo mysqld_safe --skip-grant-tables &
Амперсанд (&
) в конце команды переводит консольную команду в фоновый режим и можно будет продолжить работу с терминалом. Если в консоли не появилось приглашение, то просто нажните Enter.
Далее, подключаемся к БД MySQL как суперпользователь root
, при этом пароль запрашиваться не будет:
$ mysql -uroot mysql [(none)]>
В современных версиях MySQL (MySQL >= 8.0) изменить пароль пользователя root
можно с помощью команды ALTER USER
.
-- сбрасываем кеш системных таблиц -- и перезагружаем таблицы привилегий mysql [(none)]> FLUSH PRIVILEGES; -- теперь инструкция `ALTER USER` должна работать -- устанавливаем пароль пользователю 'root'@'localhost' mysql [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Примечание: замените строку ‘MyNewPass’ на свой новый пароль пользователя
root
.
Однако, данный запрос не сработает для старых версий MySQL < 8.0. В этом случае, пароль учетной записи root
необходимо менять напрямую, в системной таблице таблице mysql.user
при помощи оператора UPDATE
. Это небезопасный способ, по этому необходимо быть внимательным:
-- внимательно и аккуратно меняем пароль `root` mysql [(none)]> UPDATE mysql.user SET password=PASSWORD("MyNewPass") WHERE user="root"; -- сбрасываем кеш системных таблиц и -- перезагружаем таблицы привилегий mysql [(none)]> FLUSH PRIVILEGES;
Пароль для пользователя root
успешно изменен.
, что на старых версиях серверов, для изменения пароля пользователя root
использовалась MySQL-функция PASSWORD()
. Эта функция являлась интерфейсом SQL к алгоритму, используемому сервером для шифрования паролей MySQL для хранения в таблице привилегий.
Внимание! Функция
PASSWORD()
устарела в MySQL 5.7 и удалена с версии MySQL 8.0. Не пытайтесь сменить пароль таким способом в современных версиях MySQL. Узнать версию MySQL можно выполнив команду терминала$ mysqld --version
или сделать запрос в консоле MySQLSELECT VERSION();
.
Теперь можно перезапустить сервер базы данных в обычном режиме.
$ sudo systemctl stop mysql
$ sudo systemctl start mysql
# или
$ sudo service mysql stop
$ sudo service mysql start
Если возникает ошибка при остановке/старте MySQL-сервера, то нужно «убить»
ВСЕ ПРОЦЕССЫ
MySQL командой:
# убиваем все процессы MySQL $ sudo killall mysql # Завершён sudo mysqld_safe --skip-grant-tables # теперь запустим MySQL $ sudo systemctl start mysql # или $ sudo service mysql start
Пробуем зайти в БД MySQL с учетной записью root
и паролем, который был установлен (MyNewPass
), выполняя команды от обычного пользователя операционной системы:
$ mysql -uroot -pMyNewPass mysql [(none)]>
Сброс пароля суперпользователя root
в ОС Windows.
В ОС Windows, для сброса пароля для учетной записи MySQL 'root'@'localhost'
будем использовать следующую процедуру.
Первое, что надо сделать, это войти в ОС Windows как администратор и остановить сервер MySQL (если он запущен). Для сервера MySQL, работающего как служба Windows, необходимо перейти к диспетчеру служб: меню «Пуск» выбрать «Панель управления«, затем «Администрирование«, затем «Службы«. В списке запущенных служб Windows ищем MySQL и останавливаем ее.
Создаем текстовый файл c запросом на смену пароля суперпользователя root
, который должен занимать одну строку (без переносов).
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Строку
'MyNewPass'
замените новым паролем, который необходимо использовать.
Сохраняем файл, например, как C:>mysql-init.txt
. Затем открываем окно консоли Windows, для этого в меню «Пуск» выбираем «Выполнить«, затем вводим команду для запуска консоли cmd
.
Запустим MySQL-сервер с системной переменной init-file
, указанной как параметр командной строки --init-file
со значением созданного файла с запросом на изменение пароля C:>mysql-init.txt
. Если сервер MySQL установлен в другое место, то необходимо изменить команду cd
соответствующим образом.
, что обратная косая черта в значении параметра --init-file
удваивается:
# консоль Windows C:> cd "C:Program FilesMySQLMySQL Server 8.0bin" C:> mysqld --init-file=C:\mysql-init.txt
При выполнении команды, MySQL-сервер выполнит содержимое файла, указанного системной переменной init_file
и изменит пароль учетной записи 'root'@'localhost'
. !!! После успешного запуска сервера удалите C:>mysql-init.txt
.
Для просмотра выходных данных сервера в окне консоли, необходимо в команду C:> mysqld ...
добавить параметр командной строки --console
.
Если MySQL-сервер был установлен с помощью мастера установки, то может потребоваться указать параметр командной строки --defaults-file
. Например:
# консоль Windows C:> mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file=C:\mysql-init.txt
Параметр, который необходимо указать в --defaults-file
можно найти с помощью диспетчера служб: меню «Пуск«, выбрать «Панель управления«, затем «Администрирование«, затем «Службы«. В списке находим службу MySQL, щелкаем правой кнопкой мыши и выбираем «Свойства«. Поле «Путь к исполняемому файлу» будет содержать параметр --defaults-file
.
Теперь можно подключиться к серверу MySQL как суперпользователь root
, используя новый пароль. Для этого: остановим сервер MySQL и перезапустим его в обычном режиме. Если MySQL-сервер работал как служба, то его необходимо запустить из окна служб Windows.
Галопом по полезным MySQL-командам.
Создание БД MySQL
mysql [(none)]> CREATE DATABASE `db_name`;
Создание БД MySQL с указанием необходимой кодировки:
mysql [(none)]> CREATE DATABASE `db_name` DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
Удалить БД MySQL:
mysql [(none)]> DROP DATABASE `db_name`;
Получить список всех баз данных на сервере:
mysql [(none)]> SHOW DATABASES;
Переключится/выбрать базу данных по умолчанию:
mysql [(none)]> USE `db_name`;
Получить список таблиц в базе данных по умолчанию:
mysql [db_name]> SHOW TABLES;
Удалить таблицу из базы данных по умолчанию:
mysql [db_name]> DROP TABLE `table_name`;
Посмотреть структуру таблицы:
mysql [db_name]> DESCRIBE `table_name`;
Ещё один вариант:
mysql [db_name]> SHOW COLUMNS FROM `table_name`;
От автора: базы данных MySQL известны своей безопасностью. Для того, чтобы получить права суперпользователя, необходимо ввести пароль, который был создан при установке. Но очень часто серверы с базами данных перепродаются, достаются в наследство или передаются любым другим способом. Одним их самых распространённых действий в MySQL, сброс пароля root, как раз и является. Сегодня мы расскажем о том, что такое рут-пасс, как поменять и что делать, если этот реквизит аутентификации вам неизвестен.
Что такое Рут-пароль
Если вы работали с Unix-подобными операционными системами, то термин «рут-права» вам знаком. Он значит, что пользователь получает полное управление над системой, может ее видоизменять с помощью программного кода, доустанавливать, обновлять пакеты и даже провести полную санацию ОС. В Windows тоже есть подобный режим работы, его принято называть administrator.
В Linux существует и альтернативный способ администрирования системы: чтобы не переходить к режиму superuser, можно воспользоваться командой sudo. Именно так устанавливается программное обеспечение и настраивается конфигурация операционки. К сожалению, подобного «промежуточного» режима нет в MySQL и, чтобы сменить password в базах данных, нам придется рутироваться. Это не то же самое, что рут-права в оси: все настройки происходят благодаря root в MySQL.
При установке программного обеспечения для базы данных новички часто допускают ошибки. Одной из тех, которая касается темы нашей статьи, является сеттинг слишком сложного кодового слова, либо небрежность при создании. После, разработчик сталкивается с тем, что абсолютно не помнит рут-пасса и не может произвести базовых конфигурационных действий.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
Стандартные привилегии
Это одни из первых шагов при установке СУБД: приоритеты доступа обозначаются еще после запуска команды mysql_install_db. Инициализируются таблицы безопасности, которые обозначают стандартный порядок доступа к режиму суперпользователя. Одной из составляющих является наличие root и пароля к нему.
Как только установка MySQL завершена, получить права суперпользователя может каждый, кто подойдет к терминалу: достаточно лишь ввести нужную команду. Дело в том, что изначально в таблицах безопасности нет пасса для root, если только пользователь не задал его в процессе установки.
Тем не менее, задать пароль пользователя необходимо. Ваши базы данных – это вся информация, которая обеспечивает работу программного обеспечения, веб-приложения или другого продукта, который вы создаете. Это можно сделать через графический интерфейс MySQL Workbench либо через командную строку, что предпочтительней. Наиболее опытные предпочитают даже не строку, а непосредственно таблицы безопасности. Это немного сложнее и не стоит того, если ваша работа не связана с ними в дальнейшем. Результат не изменится в зависимости от способа.
Заменить рут-пасс
Если вам известен пароль, то смена не создаст трудностей. Напротив, это можно сделать в несколько команд из строки.
Для начала, через безопасную оболочку Shell нужно подключится к серверу, который значится, как виртуальный. Далее, необходимо получить root права для работы с правами суперпользователя. Выглядит это так:
Только если вы еще вовсе не работали с базами данных, эта команда может быть для вас неизвестной. Нажав Enter, вы получите поле для ввода действующего кодового слова. Помните, сейчас мы не рассматриваем ситуацию, когда пользователь может зайти без пароля, либо последний утерян.
Итак, вы теперь имеете рут-права в MySQL. Для того, чтобы изменить пароль, нужно ввести следующий набор команд:
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
use mysql; update user set password=PASSWORD(«mynewpassword») where User=‘root’; flush privileges; quit |
Фраза «новый пароль» – заменяет тот пасс, который вы придумаете. Как видите, все даже проще, чем через любой графический интерфейс.
Все по новой
Теперь рассмотрим сценарий, когда вы получили базу данных, а root-прав к ней не имеете, как и верного пасса. Многие пользователи ищут, как узнать пароль с помощью серфинга различных системных файлов. Срабатывает логика о том, что пароль должен где-то храниться. Но это тщетно: только сбросом и назначением нового кодового слова можно возобновить рут-права.
Для начала, необходимо остановить сервер. Сделайте это с помощью команды:
# mysqladmin –uroot –pqwerty shutdown |
То же самое можно сделать и через графический интерфейс Workbench, но мы не ищем легких путей. Теперь нужно отключить таблицы безопасности, которые были созданы при установке. Делаем это при помощи команды:
sudo mysqld_safe —skip-grant-tables & |
Так, вы сможете заходить в рут без пароля и выполнять сброс командой, которая очень похожа на смену:
mysql> update user set password=PASSWORD(‘NEW-PASSWORD-HERE’) where User=‘John’; mysql> flush privileges; mysql>exit |
После того, как у вас появился новый рут-пасс, не забудьте снова включить таблицы безопасности, ведь однажды, они могут спасти ваш продукт от атаки.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
MongoDB
Посмотрите видео по MongoDB!
Смотреть
I have previously used MySQL for a class about a year ago and not since. I’ve forgotten the password and I need to use it again. I don’t need to be able to access any previous databases, so I tried stopping the service in command prompt and uninstalling then re-installing MySQL but this still resulted in me getting stuck at the «Accounts and Roles» section of the MySQL Installer where it asks for my root password.
Is there a way I can reset it or start a new root account all together? I’ve seen tutorials for Ubuntu but I’m not knowledgeable enough yet to translate this to windows.
asked Oct 2, 2019 at 0:39
0
It’s possible re-initialize the data directory to produce an empty MySQL instance. Here is the documentation describing the process: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization.html .
It tells the command to perform is:
binmysqld --initialize --console
or the following if you want to connect as root without password:
binmysqld --initialize-insecure --console
The data currently in the data dir would be overwritten. If there still is a chance it might be needed in future, you may find datadir param in my.cnf and backup the directory before proceeding to re-initialization.
Another possible option is to uninstall MySQL, remove or rename datadir as found in my.cnf and install again. It shouldn’t ask for the old root password then.
answered Oct 2, 2019 at 18:30
ichalovichalov
561 silver badge6 bronze badges
https://blogs.iis.net/rickbarber/completely-uninstall-mysql-from-windows
I found this link which described precisely my situation and these steps allowed me to re-install MySQL and create a new root password
What needed to be done was to first uninstall MySQL through Add/Remove Programs in the Control Panel. When I first had this problem I assumed this would be enough to correct it, but there’s more that needs to be removed. Next you need to find the appropriate data directory which will be in a different place depending on the version of Windows you are running and if you installed MySQL with default settings or not. The link above goes into more detail about where to find this. When you find it, delete it. You should be able to reinstall MySQL at this point and it will ask for a new password and this is where you create one that is easier to remember.
answered Oct 2, 2019 at 21:26
1
На чтение 3 мин Опубликовано 29.10.2019
Если вы предварительно установили пароль root, но забыли его, вы можете установить новый пароль.
Следующая процедура подойдет только для систем Windows.
Вы должны войти в Windows как пользователь с правами администратора, затем выполните следующие действия:
1. Остановите сервер MySQL, если он работает.
Для сервера, работающего в качестве службы Windows, перейдите в диспетчер служб:
Пуск -> Панель управления-> Администрирование -> Службы
2. Затем найдите службу MySQL в списке и остановите ее.
Если ваш сервер не работает как служба, вам может потребоваться использовать диспетчер задач, чтобы принудительно остановить его.
3. Откройте окно консоли, чтобы перейти к командной строке:
Пуск -> Выполнить -> cmd
Предполагается, что вы установили MySQL в «C: Program FilesMySQLMySQL Server 8.0».
Если вы установили MySQL в другое место, настройте следующие команды соответствующим образом.
В командной строке выполните эту команду:
C:> cd "C:Program FilesMySQLMySQL Server 8.0bin" C:> mysqld --skip-grant-tables --skip-networking --enable-named-pipe
Параметр –skip-grant-tables пропустит чтение таблиц разрешений для MySQL Server; это позволит любому пользователю подключаться без использования пароля с полным доступом ко всем таблицам.
Дополнительный параметр –skip-network снижает риск безопасности, не позволяя серверу принимать соединения через TCP / IP; вместо этого включаются именованные каналы с помощью –enabled-named-pipe.
Именованные каналы доступны только в системах на базе NT, поэтому TCP / IP должен использоваться для других ОС Windows.
Если вы беспокоитесь о безопасности, вы должны использовать брандмауэр для блокировки внешнего доступа к серверу в течение этого времени.
Оставив первое окно консоли открытым, откройте второе окно консоли и выполните следующие команды (введите каждую в одной строке):
C:> C:Program FilesMySQLMySQL Server 8.0binmysqladmin -u root flush-privileges password "newpwd" C:> C:Program FilesMySQLMySQL Server 8.0binmysqladmin -u root -p shutdown
Замените «newpwd» фактическим паролем рута, который вы хотите использовать.
Вторая команда предложит вам ввести новый пароль для доступа.
Введите пароль, который вы указали в первой команде.
Как только вы остановили сервер MySQL, снова перезапустите его в обычном режиме.
Если вы запускаете сервер как службу, вы можете запустить его из окна Windows служб.
Если вы запускаете сервер вручную, используйте любую команду, которую вы обычно используете.
Теперь вы сможете подключиться, используя новый пароль root.
Один из способов сброса пароля root в Windows – выполнить процедуру, указанную в руководстве по ссылке ниже.
https://dev.mysql.com/doc/en/resetting-permissions.html
Пожалуйста, не спамьте и никого не оскорбляйте.
Это поле для комментариев, а не спамбокс.
Рекламные ссылки не индексируются!
Introduction
MySQL is a popular database management system for web application software. Like many web services, MySQL has an administrator-level or root password. The root password allows a user to perform all top-level functions in the database.
If you’ve never set a root password on your MySQL database, you should be able to connect to it. However, this is not a good security practice as anyone can access your database.
If your database has a root password, but you lost track of it, this guide will help you reset a MySQL Root password on Linux and Windows.
Prerequisites
- An existing MySQL database
- Access to a Linux or Windows server running MySQL
- Administrator privileges on the computer that hosts the MySQL database
- A text editor. Notepad is included by default in Window. Vim is installed by default in Linux.
- Access to a command-line interface (or terminal)
Step 1: Log in as the MySQL User
When you boot into your Linux installation, make sure you’re logged in as the same user that normally runs MySQL. Although you can log in as root, once you start the MySQL server, make sure you start it with the --user=mysql
option.
Otherwise, the system may create files owned by the root user, which can cause problems.
Step 2: Find the .pid File for the MySQL Service
The next step is to find the .pid file for the MySQL service.
Most systems store them in /var/lib/mysql/, /var/run/mysqld/, or /usr/local/mysql/data/ path. The filename usually starts with mysqld (or your system’s hostname) and ends with the .pid extension.
Step 3: Kill the mysqld Process
Before you create a new root password, stop the MySQL server. To kill the mysqld process, open a command line, and run the following:
kill `cat /mysql-data-directory/host_name.pid`
Replace mysql-data-directory/host_name.pid with the filename you found in the previous step. Ensure to specify the whole path to the file. Also, make sure to use the back-tick key (usually above the tab key) and not a single-quote mark in the beginning of the command.
Step 4: Create the Password File
1. Open your favorite text editor. In this example, we use vim:
sudo vim
2. Next, add the following line in the file:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Bear in mind to include the single-quote marks and the semicolon. Replace NewPassword with the password you want to use. Finally, make sure to use a strong secure password, like these examples.
The command will work for the machine you’re currently using. If you’re connecting to a different system, replace localhost with the appropriate hostname.
3. Save the file to home/me/mysql-init.
Step 5: Restart the MySQL Server and Apply the New Password
To apply the changes to the password, restart the MySQL server by running the following command in the terminal:
mysqld --init-file=/home/me/mysql-init &
This launches MySQL, and apply the text-file password change. Depending on how you start your server, you may need to add other options (such as --defaults-file
before the init
command.)
Step 6: Cleaning Up
Lastly, log into your MySQL server using the root account, and verify the new password works. Then, delete the file you created in Step 4.
How to Reset MySQL Root Password in Windows
Step 1: Stop the MySQL server
1. Begin by checking if you’re logged in as an administrator.
2. Press Win+R (hold the Windows/Super key, and press “r”.) Once the “Run” box appears type:
services.msc
3. Click OK.
4. Scroll down the list of services to find the MySQL service. Right-click that entry, then left-click Stop.
Step 2: Launch a Text Editor
Click on the menu and search for Notepad.
Alternatively, you can use the path: menu > Windows Accessories > Notepad.
Step 3: Create a New Text File with the Password Command
1. Enter the following line into the text editor:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Make sure you keep the quote marks and semicolon. Replace NewPassword with the password of your choice.
2. Use the File > Save As menu to save the file to the root of your hard drive (C: ). Choose a filename, such as mysql-init.txt.
Consequently, the localhost command makes the password change on your local system. If you’re changing the password on a system over the network, substitute the hostname for localhost.
Step 4: Open a Command Prompt
1. Press Ctrl+Shift+Esc.
2. Then, click on the File menu > Run new task.
3. Type cmd.exe, and check the box to run as administrator.
4. Click OK.
Step 5: Restart the MySQL Server with Your New Config File
1. Navigate to the MySQL directory using the command prompt:
cd "C:Program FilesMySQLMySQL Server 8.0bin"
2. Then, enter the following:
mysqld --init-file=C:\mysql-init.txt
Note that there are two slashes after the C: prompt.
Also, if you chose a different filename in Step 2, use that name after the double slash.
Step 6: Clean up
Now, you can log into your MySQL server as root using the new password.
Double-check to make sure it works. If you have unique configuration options (such as launching MySQL with a --defaults-file
option), go ahead and do so.
Once MySQL launches, and you’ve confirmed the password change, delete the C:mysql-init.txt file.
Conclusion
After reading this guide, you should be ready to reset the root password on MySQL in Linux and Windows. Granted, it is not too challenging, yet it is a secure way to change a sensitive password.
Иногда требуется сбросить пароль root для MySQL для этого нужно сделать несколько шагов.
Запускаем командную строку от имени администратора, нажимаем сочетание клавиш (Win+X)
Останавливаем службу
- net stop mysql
Запускаем MySQL сервер с отключенными таблицами безопасности (Главное правильно указать путь куда установлен MySQL).
- C:Program FilesMySQLbinmysqld —skip-grant-tables
Открываем ещё одну командную строку и заходим в MySQL под рутом без пароля:
- mysql -uroot
Выбираем базу mysql:
- USE mysql
Меняем пароль рута:
- UPDATE `user` SET Password=PASSWORD(‘root’) WHERE User=’root’;
Закрываем первую командную строку и запускаем службу
- net start mysql
Если при запуске службы будет ошибка 1067 процесс был неожиданно завершен mysql?
Препятствие запуску службы mysqld, заключается в том, что у вас уже запущен mysqld.exe (но не как служба).
Просто откройте диспетчер задач Windows и найдите «mysqld.exe» на вкладке «Процессы». Если вы видите это, убейте его, а затем попробуйте снова запустить службу.
- 02 марта 2018 г.
- 11 659 просмотров