Я не могу определить свой пароль root MySQL; как я могу это узнать? Есть ли файл, в котором хранится этот пароль?
Я следую этой ссылке но у меня нет каталога directadmin в локальном.
Я не могу определить свой пароль root MySQL; как я могу это узнать? Есть ли файл, в котором хранится этот пароль?
Я следую этой ссылке но у меня нет каталога directadmin в локальном.
благодаря @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
Вы не можете просмотреть хешированный пароль; единственное, что вы можете сделать, это 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
Ваш новый пароль - "пароль".
MySQL 5.7 и выше сохраняет root в файле журнала MySQL.
Пожалуйста, попробуйте следующее:
sudo grep 'temporary password' /var/log/mysqld.log
Вы не можете найти его. Он хранится в базе данных, для которой вам нужен пароль root для доступа, и даже если вы каким-то образом получили доступ, он хэшируется односторонним хэшем. Вы можете reset it: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Выполните следующие шаги для пароля 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';
Сохранить как mysql-init.txt
и поместить его в 'C' drive
.
Откройте командную строку и вставьте следующие
C:\> mysqld --init-file=C:\\mysql-init.txt
Одна вещь, которая спровоцировала меня на новой установке 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';
затем выйдите из системы, и теперь кровавая вещь, наконец, примет ваш пароль
Если менеджер пакетов не просит ввести пароль 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)
Мауриций
В дополнение к другим ответам, в установке cpanel, пароль root mysql хранится в файле с именем /root/.my.cnf
. (и служба cpanel сбрасывает ее обратно на изменение, поэтому другие ответы здесь не помогут)
вы можете просмотреть пароль пользователя mysql, ну, я пробовал его на mysql 5.5, так что не знаю о другой новой версии хорошо работать или нет
nano ~/.my.cnf
Пароль по умолчанию, который работал для меня после немедленной установки сервера mysql
: mysql
Процедура изменяется в зависимости от версии 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)
В вашем файле "hostname".err внутри папки данных MySQL работает, попытайтесь найти строку, которая начинается с:
"Временной пароль создается для roor @localhost"
вы можете использовать
less /mysql/data/dir/hostname.err
затем слэш-команду, за которой следует строка, которую вы хотите найти
/"A temporary password"
Затем нажмите n, чтобы перейти к следующему результату.
Это сработало для меня:
В терминале введите следующий
$ sudo mysql -u root -p
Введите пароль://просто нажмите enter
MySQL >
Ответы, предоставленные здесь, как представляется, не работают для меня, трюк оказался: ALTER USER 'root' @'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
(полный ответ здесь: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/)
Вы можете изменить свой пароль или использовать Linux, вы можете использовать зашифрованный пароль. Я думаю, что это гораздо более удобный и безопасный метод, чем при каждом изменении пароля.
Вам необходимы привилегии root и используйте следующую команду
cat /etc/psa/.psa.shadow
Выше команда отобразит зашифрованный пароль, который вы можете использовать для входа в Mysql как root. Ниже вы можете найти мое часто используемое решение.
mysql -uadmin -p`cat /etc/psa/.psa.shadow`
система:
Процедура:
Откройте два сеанса оболочки, войдя в один из них как пользователь root, а другой - как пользователь root, имеющий доступ к команде mysql
.
В вашей корневой сессии остановите обычный прослушиватель mysqld и запустите прослушиватель, который обходит аутентификацию по паролю (примечание: это серьезный риск для безопасности, поскольку любой, имеющий доступ к команде mysql
может получить доступ к вашим базам данных без пароля. Возможно, вы захотите закрыть активную оболочку сессии и/или отключить доступ к оболочке перед этим):
# systemctl stop mysqld
#/usr/sbin/mysqld --skip-grant-tables -u mysql &
В сеансе без рута войдите в 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;
В сеансе root убейте экземпляр пароля mysqld без пароля и восстановите обычный прослушиватель mysqld для службы:
# kill %1
# systemctl start mysqld
В сеансе без рута протестируйте новый пароль root, который вы настроили выше:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with; or \g.
...
mysql>
Я решил это по-другому, это может быть проще для некоторых.
Я сделал это так, потому что я попытался запустить в безопасном режиме, но не могу подключиться с ошибкой: ОШИБКА 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 теперь работает с новым паролем
Перейдите в phpMyAdmin > config.inc.php > $cfg ['Servers'] [$ i] ['password'] = '';