sql >> Databáze >  >> RDS >> Mysql

MySQL:nelze získat přístup k účtu root

Můžete použít init soubory. Podívejte se do oficiální dokumentace MySQL na téma Jak resetovat heslo root (včetně komentářů k alternativním řešením).

Takže v zásadě pomocí init souborů můžete přidat jakékoli SQL dotazy, které potřebujete pro opravu vašeho přístupu (např. GRAND , CREATE , FLUSH PRIVILEGES , atd.) do init souboru (jakéhokoli souboru).

Zde je můj příklad obnovení účtu root:

echo "CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';" > your_init_file.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;" >> your_init_file.sql 
echo "FLUSH PRIVILEGES;" >> your_init_file.sql

a po vytvoření souboru můžete spustit:

killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql

pak pro kontrolu, zda to fungovalo, stiskněte Ctrl+Z a zadejte:bg pro spuštění procesu z popředí na pozadí, poté ověřte svůj přístup pomocí:

mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |

Viz také:



  1. Chyba PID při startu mysql.server?

  2. Vkládání dat z CSV do MySQL DB je velmi pomalé

  3. Sloučit více řádků do jednoho řádku

  4. Jak upgradovat MariaDB 5.5 na MariaDB 10.1 na systémech CentOS/RHEL 7 a Debian