ú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.