Как узнать пароль администратора MySQL

Я не могу определить свой пароль root MySQL; как я могу это узнать? Есть ли файл, в котором хранится этот пароль?

Я следую этой ссылке но у меня нет каталога directadmin в локальном.

Ответ 1

благодаря @thusharaK я смог сбросить пароль root, не зная старого пароля.

На Ubuntu я сделал следующее:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking

Затем запустите mysql в новом терминале:

mysql -u root

И выполните следующие запросы, чтобы изменить пароль:

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;

В MySQL 5.7 поле пароля в поле таблицы mysql.user было удалено, теперь имя поля - "authentication_string".

Выйдите из безопасного режима mysql и запустите службу mysql:

mysqladmin shutdown
sudo service mysql start

Ответ 2

Вы не можете просмотреть хешированный пароль; единственное, что вы можете сделать, это reset it!

Остановить MySQL:

sudo service mysql stop

или

$ sudo /usr/local/mysql/support-files/mysql.server stop

Запустите его в безопасном режиме:

$ sudo mysqld_safe --skip-grant-tables

(выше строка - вся команда)

Это будет текущая команда, пока процесс не завершится, поэтому откройте другое окно оболочки/терминала, войдите в систему без пароля:

$ mysql -u root

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

MySQL 5.7 и более:

mysql> use mysql; 
mysql> update user set authentication_string=password('password') where user='root'; 

Запустите MySQL:

sudo mysql start

или

sudo /usr/local/mysql/support-files/mysql.server start

Ваш новый пароль - "пароль".

Ответ 3

MySQL 5.7 и выше сохраняет root в файле журнала MySQL.

Пожалуйста, попробуйте следующее:

sudo grep 'temporary password' /var/log/mysqld.log

Ответ 4

Вы не можете найти его. Он хранится в базе данных, для которой вам нужен пароль root для доступа, и даже если вы каким-то образом получили доступ, он хэшируется односторонним хэшем. Вы можете reset it: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

Ответ 5

Выполните следующие шаги для пароля reset в системе Windows

  • Остановить службу Mysql от диспетчера задач

  • Создайте текстовый файл и вставьте приведенный ниже оператор

MySQL 5.7.5 и ранее:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');


MySQL 5.7.6 и более поздние версии:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword';

  1. Сохранить как mysql-init.txt и поместить его в 'C' drive.

  2. Откройте командную строку и вставьте следующие

C:\> mysqld --init-file=C:\\mysql-init.txt

Ответ 6

Одна вещь, которая спровоцировала меня на новой установке mySQL, и удивилась, почему я не могу заставить работать пароль по умолчанию и почему даже методы сброса не работают. хорошо получается, что в Ubuntu 18 самая последняя версия сервера MySQL не использует пароль по умолчанию для пользователя root по умолчанию. Таким образом, это означает, что не имеет значения, что вы установили, оно не позволит вам его использовать. он ожидает, что вы войдете из привилегированного сокета. так

mysql -u root -p

не будет работать вообще, даже если вы используете правильный пароль !!! он будет запрещать доступ независимо от того, что вы вставили.

Вместо этого вам нужно использовать

sudo mysql

это будет работать без любого пароля. затем, когда вам нужно, введите

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';

затем выйдите из системы, и теперь кровавая вещь, наконец, примет ваш пароль

Ответ 7

Если менеджер пакетов не просит ввести пароль root во время установки, пароль root по умолчанию - это пустая строка. Чтобы подключиться к только что установленному серверу, введите:

shell> mysql -u root --password=
mysql>

Чтобы изменить пароль, верните оболочку unix и введите:

shell> mysqladmin -u root --password= password root

Новый пароль - "root". Теперь подключитесь к серверу:

shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

К сожалению, пароль изменился. Используйте новый, root:

shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql> 

Бинго! Новое сделать что-нибудь интересное

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

Мауриций

Ответ 8

В дополнение к другим ответам, в установке cpanel, пароль root mysql хранится в файле с именем /root/.my.cnf. (и служба cpanel сбрасывает ее обратно на изменение, поэтому другие ответы здесь не помогут)

Ответ 9

вы можете просмотреть пароль пользователя mysql, ну, я пробовал его на mysql 5.5, так что не знаю о другой новой версии хорошо работать или нет

nano ~/.my.cnf

Ответ 10

Пароль по умолчанию, который работал для меня после немедленной установки сервера mysql: mysql

Ответ 11

Процедура изменяется в зависимости от версии MySql. Выполните процедуру, точно описанную для вашей версии:

  • HINTS - прочитайте перед страницей инструкций для своей версии MySql *

  • На шаге 5: Вместо запуска CMD создайте ярлык на рабочем столе, вызывая CDM.exe. Затем щелкните правой кнопкой мыши ярлык и выберите "Выполнить как администратор".

  • На шаге 6: Пропустите первую предложенную версию команды и выполните вторую, с параметром -defaults-file

  • После выполнения команды, если все в порядке, окно CMD остается открытым, и команда этапа 6 продолжает выполнение. Просто закройте окно (нажмите "x" ), а затем закройте MySQl из диспетчера задач.

  • Удалите файл с помощью команд SQL и запустите MySQL. Теперь пароль должен быть изменен.

5,0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

5,1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html

... просто измените версию в ссылке (5.5, 5.6, 5.7)

Ответ 12

В вашем файле "hostname".err внутри папки данных MySQL работает, попытайтесь найти строку, которая начинается с:

"Временной пароль создается для roor @localhost"

вы можете использовать

less /mysql/data/dir/hostname.err 

затем слэш-команду, за которой следует строка, которую вы хотите найти

/"A temporary password"

Затем нажмите n, чтобы перейти к следующему результату.

Ответ 13

Это сработало для меня:

В терминале введите следующий

$ sudo mysql -u root -p

Введите пароль://просто нажмите enter

MySQL >

Ответ 15

Вы можете изменить свой пароль или использовать Linux, вы можете использовать зашифрованный пароль. Я думаю, что это гораздо более удобный и безопасный метод, чем при каждом изменении пароля.

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

cat /etc/psa/.psa.shadow

Выше команда отобразит зашифрованный пароль, который вы можете использовать для входа в Mysql как root. Ниже вы можете найти мое часто используемое решение.

mysql -uadmin -p`cat /etc/psa/.psa.shadow`

Ответ 16

система:

  • CentOS Linux 7
  • mysql Ver 14.14 Distrib 5.7.25

Процедура:

  1. Откройте два сеанса оболочки, войдя в один из них как пользователь root, а другой - как пользователь root, имеющий доступ к команде mysql.

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

    # systemctl stop mysqld
    #/usr/sbin/mysqld --skip-grant-tables -u mysql &

  3. В сеансе без рута войдите в mysql и установите пароль root для mysql:

    $ mysql
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    mysql> quit;

  4. В сеансе root убейте экземпляр пароля mysqld без пароля и восстановите обычный прослушиватель mysqld для службы:

    # kill %1
    # systemctl start mysqld

  5. В сеансе без рута протестируйте новый пароль root, который вы настроили выше:

    $ mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with; or \g.
    ...
    mysql>

Ответ 17

Я решил это по-другому, это может быть проще для некоторых.

Я сделал это так, потому что я попытался запустить в безопасном режиме, но не могу подключиться с ошибкой: ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)

Что я сделал, чтобы подключиться как root:

$ sudo mysql -u root

Затем я создал нового суперпользователя:

mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> quit

Затем войдите в систему как myuser

$ mysql -u myuser -p -h localhost

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

mysql> drop user 'root'@'localhost;
mysql> mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'mypassword' with grant option;

Пользователь root теперь работает с новым паролем

Ответ 18

Перейдите в phpMyAdmin > config.inc.php > $cfg ['Servers'] [$ i] ['password'] = '';