Я не можу з’ясувати свій пароль MySQL root; як я можу це дізнатися? Чи є файл, де зберігається цей пароль?
Я переходжу за цим посиланням, але не маю каталогів directadmin в локальній.
Я не можу з’ясувати свій пароль MySQL root; як я можу це дізнатися? Чи є файл, де зберігається цей пароль?
Я переходжу за цим посиланням, але не маю каталогів 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 було видалено, тепер назва поля - "автентифікація_string".
Вийдіть з безпечного режиму mysql та запустіть службу mysql:
mysqladmin shutdown
sudo service mysql start
mysqladmin -u root -p shutdown
новим паролем.
mysql -u root
. На ній видно помилкуAccess denied
Ви не можете переглянути хешований пароль; єдине, що ви можете зробити, це скинути його!
Зупинити 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_secure_installation
і root вже не співпрацював. Що робить authentication_string
установка?
mysqladmin -u root -p shutdown
з цим новим паролемsudo service mysql start
MySQL 5.7 і вище зберігає корінь у файлі журналу MySQL.
Спробуйте:
sudo grep 'temporary password' /var/log/mysqld.log
/var/log/mysql/error.log
містив попередження про те, що кореневий пароль порожній - таким чином, врятував мій день :)
одне, що спонукало мене до нової установки mySQL, і дивуюся, чому я не можу отримати пароль за замовчуванням для роботи і чому навіть методи скидання, коли не працюють. добре виявляється, що на Ubuntu 18 найновіша версія сервера mysql взагалі не використовує auth пароль для кореневого користувача за замовчуванням. Тож це означає, що не має значення, для чого ви його встановили, він не дозволить вам використовувати його. він очікує, що ви увійдете з пільгового сокета. так
mysql -u root -p
взагалі не буде працювати, навіть якщо ви використовуєте правильний пароль !!! він забороняє доступ незалежно від того, що ви вводите.
Замість цього вам потрібно використовувати
sudo mysql
що буде працювати з будь-яким паролем. то, як тільки вам потрібно, введіть
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';
потім вийдіть, і тепер кривава річ нарешті прийме ваш пароль
Ви не можете його знайти. Він зберігається в базі даних, до якої вам потрібен пароль root, і навіть якщо ви отримали доступ якось, він хеширується одностороннім хешем. Ви можете скинути його: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Виконайте ці дії, щоб скинути пароль у системі 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
mysqld --init-file=/root/m.txt
. Я додав вище команду SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
до /root/m.txt
Якщо менеджер пакунків не вимагає, щоб ви ввели пароль 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)
Мовриці
ви можете переглянути пароль root mysql, добре, я спробував його на mysql 5.5, тому не знаю про іншу нову версію, добре працює чи ні
nano ~/.my.cnf
Це працювало для мене:
На терміналі введіть наступне
$ sudo mysql -u root -p
Введіть пароль: // просто натисніть клавішу Enter
mysql>
Пароль за замовчуванням, який працював для мене після негайної установки сервера mysql, є: mysql
Процедура змінюється залежно від версії MySql. Дотримуйтесь процедури, як описано у вашій версії:
ПОДАЧИ - Прочитайте перед сторінкою інструкцій для вашої версії MySql *
На кроці 5: Замість запуску CMD створіть ярлик на робочому столі, викликаючи CDM.exe. Потім клацніть правою кнопкою миші на ярлику і виберіть "Виконати як адміністратор".
На кроці 6: Пропустіть першу запропоновану версію команди та виконайте другу, таку з параметром --defaults-file
Після виконання команди, якщо все в порядку, вікно CMD залишається відкритим, і команда кроку 6 продовжує виконувати. Просто закрийте вікно (натисніть «x»), а потім примушуйте закрити MySQl з диспетчера завдань.
Видаліть файл за допомогою команд SQL і запустіть знову MySQL. Тепер пароль потрібно змінити.
5,0 http://dev.mysql.com/doc/refman/5.0/uk/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/uk/resetting-permissions.html
... просто змінити версію за посиланням (5.5, 5.6, 5.7)
У вашому файлі "ім'я хоста" .err всередині папки даних, на якій працює MySQL, спробуйте шукати рядок, що починається з:
"Створюється тимчасовий пароль для roor @ localhost"
ви можете використовувати
less /mysql/data/dir/hostname.err
потім команда slash, за якою слід рядок, який потрібно шукати
/"A temporary password"
Потім натисніть n, щоб перейти до наступного результату.
Надані тут відповіді, схоже, не спрацювали для мене, хитрість виявилася такою: ПОСЛІ ПОТРІБНИК 'root' @ 'localhost' ІДЕНТИФІКОВАНО З mysql_native_password BY 'test';
(повну відповідь тут: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/ )
Система:
Порядок:
Відкрийте два сеанси оболонки, увійшовши до одного як root-користувач Linux, а інший як не-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;
У вашому кореневому сеансі введіть безоплатний екземпляр mysqld і відновіть нормальний сервіс mysqld для обслуговування:
# kill %1
# systemctl start mysqld
У своєму сеансі, що не має права кореспонденції, протестуйте новий кореневий пароль, який ви налаштували вище:
$ 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
Потім увійдіть як мійсер
$ 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 ['Сервери'] [$ i] ['пароль'] = '';
phpmyadmin
.