sql >> Databasteknik >  >> RDS >> Mysql

Hur man återställer mysql root-lösenord i MacOS

Så här kan du göra det i macOS Sierra, förmodligen installerar du det via pkg och i systeminställningarna har en ikon för MySQL, ungefär så här:

Om är igång, öppna en terminal och kör detta kommando:

pgrep -fl mysql

Det hjälper dig att hitta sökvägen till mysqld och det aktuella kommandot som används för att starta servern, kan utdata vara ungefär så här:

6283 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid

Nästa steg är att stoppa MySQL, du kan göra detta genom att klicka på menyn Systeminställningar och klicka på Stop MySQL Server knapp, När den har stoppats i en terminal måste du starta om servern men med några extra alternativ, ungefär så här:

sudo /usr/local/mysql/bin/mysqld \
  --skip-grant-tables \
  --skip-networking \
  --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid

Det är verkligen samma kommando från utdata från pgrep -fl mysql men i det här fallet behöver du bara lägga till:

--skip-grant-tables --skip-networking

När du har gjort det kommer du att märka att menyn från Systeminställningar är grön igen och MySQL borde vara igång, nu kan du försöka logga in och ändra lösenord:

mysql -uroot
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR [email protected]'localhost' = PASSWORD('secret');
mysql> FLUSH PRIVILEGES;
mysql> exit

Stoppa och starta om MySQL från panelen Systeminställningar och det borde fungera nu med det nya lösenordet.



  1. Hur ställer man in timern för att anropa en funktion var n:e minut?

  2. SQL-fel:0, SQLState:08S01 Kommunikationslänkfel

  3. SQLite datum och tid funktioner

  4. Hur exporterar man databaser via kommandoraden?