újra megy. Csak egy virtuális gépet pörgetett fel egy teszteléshez, telepítette a MySQL-t a kedvenc csomagkezelőjével, elindította a kiszolgálót, és nem sikerült csatlakoznia:

$ mysql --user=root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

az 5. verzió óta.,7, a MySQL alapértelmezés szerint biztonságos:

  • a telepítés során véletlenszerű gyökér jelszó keletkezik; ezt a jelszót el kell olvasnia a szerver naplójából
  • meg kell változtatnia ezt a jelszót, amikor először csatlakozik
  • nem használhat üres jelszót a validate_password plugin

Ez mind jó biztonsági szempontból. De ha csak a MySQL-t telepíti egy helyi virtuális gépre a saját teszteléséhez, ez nagyon bosszantó lehet.

a MySQL root jelszó eltávolításához csak futtassa a következő szkriptet közvetlenül a MySQL szerver telepítése és indítása után:

a MySQL 5-en.,7:

On MySQL 8.0:

Note: you must execute this script as root.,

A forgatókönyv a következő tevékenységeket végzi:

  • olvassa az ideiglenes jelszót a log fájl
  • megváltoztatja a jelszót, hogy egy ideiglenes jelszót, amely átmegy a validate_password ellenőrzések
  • eltávolítja a validate_password plugin (vagy alkatrész a MySQL 8)
  • beállítja egy üres jelszó

most már csatlakoztathatja nélkül jelszó:

Legyen óvatos, hogy ez a levél a MySQL telepítés fedezetlen, ne használja ezt a komoly kapcsolatot!,

biztonságos alternatíva

Ha elsősorban a MySQL-t használja a parancssorból, megtarthatja a root fiókot jelszóval védve, miközben továbbra is elkerüli a jelszó megadásának kellemetlenségét a parancssorban.

csak hozzon létre egy~/.my.cnf fájlt:


user = root
password = xxx

most már csak írja be amysql, és a MySQL kliens automatikusan bejelentkezik ezekkel a hitelesítő adatokkal.