Pokud jste skutečně nastavili heslo uživatele root a právě jste ho ztratili/zapomněli:
- Zastavte MySQL
-
Restartujte jej ručně pomocí volby skip-grant-tables:
mysqld_safe --skip-grant-tables
-
Nyní otevřete nové okno terminálu a spusťte klienta MySQL:
mysql -u root
-
Heslo uživatele root resetujte ručně pomocí tohoto příkazu MySQL:
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
Pokud používáte MySQL 5.7 (zkontrolujte pomocí mysql --version v Terminálu), příkaz je:UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
-
Vyprázdněte oprávnění pomocí tohoto příkazu MySQL:
FLUSH PRIVILEGES;
Z http://www.tech-faq.com/reset-mysql-password.shtml
(Možná to není to, co potřebuješ, Abs, ale myslím, že by to mohlo být užitečné pro lidi, kteří v budoucnu narazí na tuto otázku)
Zkuste se připojit bez hesla:
mysql -u root
Domnívám se, že výchozí výchozí nastavení není žádné heslo pro účet root (což by samozřejmě mělo být co nejdříve změněno).
použijte tento příkaz ke kontrole možného výstupu
mysql> select user,host,password from mysql.user;
výstup
mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | % | |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
- V tomto uživateli se správci nebude moci přihlásit z jiného hostitele, ačkoli jste mu udělili oprávnění. důvodem je, že uživatel admin není identifikován žádným heslem.
-
Udělte uživateli admin heslo pomocí příkazu GRANT ještě jednou
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'
pak se podívejte na SEZNAM GRANTŮ, výdej bude jako jeho
mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user | host | password |
+-------+-----------------------+-------------------------------------------+
| root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | % | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
pokud požadovanému uživateli, například uživateli 'admin', potřebuje být povoleno přihlášení, pak použijte jednou příkaz GRANT a spusťte příkaz.
Nyní by mělo být uživateli povoleno přihlášení.