Možda imate MySQL pokrenut negdje u vašem podatkovnom centru. Ako je to slučaj, možda ćete morati postaviti ili promijeniti root korisničku lozinku. To se može dogoditi kada ste zaboravili lozinku ili kada tražite svoju sigurnosnu igru nakon što ste se sjetili da ste izvornu MySQL lozinku postavili na nešto previše jednostavno.
Procesom se u potpunosti upravlja putem naredbenog retka i radi s instalacijama MySQL ili MariaDB. Distribucija Linuxa koja se koristi nije bitna sve dok imate administratorski pristup su
ili sudo
.
Sadržaj objave
Kako postaviti MySQL lozinku po prvi put
Imajte na umu da ću govoriti o MySQL-u s idejom da će sve raditi i za MySQL i za MariaDB.
Obično se tijekom instalacije MySQL-a i MariaDB-a od vas traži da postavite početnu lozinku. Ako se to nije dogodilo, morat ćete postaviti lozinku prvi put. Da biste to učinili, otvorite prozor terminala i izdajte sljedeću naredbu:
mysqladmin -u root password NEWPASSWORD
U ovom slučaju, NEWPASSWORD
je lozinka čuvara mjesta. Zatim, kada se prijavite u MySQL s naredbom mysql -u root -p
od vas će se tražiti da unesete novo konfiguriranu lozinku.
Alternativna metoda za postavljanje root lozinke po prvi put — koja dodaje malo sigurnosti vašoj MySQL bazi podataka — je korištenje mysql_secure_connection
naredba. Ova naredba će postaviti root korisničku lozinku i omogućiti vam uklanjanje anonimnih korisnika, onemogućavanje udaljene root prijave i uklanjanje testne baze podataka. Za korištenje ove naredbe jednostavno upišite:
mysql_secure_connection
Odgovorite na postavljena pitanja i vaša lozinka će biti postavljena, čineći vašu bazu podataka malo sigurnijom.
Kako promijeniti MySQL root korisničku lozinku
Za ponovno postavljanje lozinke za MySQL prvo morate stvoriti novu datoteku sa sljedećim sadržajem:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';
PASSWORD
je nova lozinka koju ćete koristiti. Spremi tu datoteku kao ~/mysql-pwd
.
Zatim zaustavite MySQL demon s naredbom:
sudo systemctl stop mysql
Kada je demon zaustavljen, izdajte naredbu:
sudo mysqld -init-file=~/mysql-pwd
Nakon što se vrati vaš naredbeni redak, ponovno pokrenite MySQL demon s naredbom:
sudo systemctl start mysql
Sada biste se trebali moći prijaviti u MySQL naredbeni redak s novom administratorskom lozinkom ovako:
mysql -u root -p
Kada se to od vas zatraži, upišite lozinku administratora i spremni ste.
Kako promijeniti MySQL korisničku lozinku
Za promjenu lozinke ne-root korisnika, kada se prijavite, pokrenite sljedeći upit:
ALTER USER ‘username’@‘host’ IDENTIFIED BY ‘PASSWORD’;
Gdje username
je MySQL korisničko ime, host
je host s kojeg se korisnik može spojiti, i PASSWORD
je nova lozinka po izboru.
Zatim primijenite promjene pokretanjem naredbe:
FLUSH PRIVILEGES;
Kako oporaviti svoju MySQL lozinku
Što ako ste zaboravili svoju MySQL root korisničku lozinku? Za oporavak lozinke jednostavno morate slijediti ove korake:
- Zaustavite proces MySQL poslužitelja naredbom
sudo service mysql stop
- Pokrenite MySQL poslužitelj naredbom
sudo mysqld_safe –skip-grant-tables –skip-networking &
- Spojite se na MySQL poslužitelj kao root korisnik pomoću naredbe
mysql -u root
U ovom trenutku trebate izdati sljedeće MySQL naredbe za poništavanje root lozinke:
mysql> use mysql;
mysql> update user set authentication_string=password('NEWPASSWORD') where user="root";
mysql> flush privileges;
mysql> quit
Gdje NEWPASSWORD
je nova lozinka koju ćete koristiti.
Ponovno pokrenite MySQL demon s naredbom sudo service mysql restart
. Sada biste se trebali moći prijaviti na MySQL s novom lozinkom.
I to je to. Sada možete postaviti, resetirati i obnoviti svoju MySQL lozinku.
Kako prikazati MySQL korisnike i lozinke
Povremeno ćete možda htjeti generirati popis MySQL korisnika i lozinki za, recimo, reviziju ili sigurnosnu kopiju vjerodajnica. To možete učiniti tako da postavite upit mysql.user
tablici, ali imajte na umu da su lozinke pohranjene u raspršenom formatu, tako da se ne mogu dohvatiti izravno u otvorenom tekstu.
Pokrenite sljedeći upit da biste dohvatili stupce korisnika i lozinke:
SELECT User, Host, authentication_string FROM mysql.user;
Gdje User
je MySQL korisničko ime, Host
je host s kojeg se korisnik može spojiti, npr localhost
i authentication_string
je raspršena lozinka.
Postavite tešku lozinku za svog MySQL root korisnika
Želim vas podsjetiti koliko je važno postaviti tešku lozinku za MySQL root korisnika. S obzirom na trenutno stanje napada diljem IT-a, toplo preporučujem da koristite jake lozinke za svoje baze podataka. Umjesto upotrebe lozinke koja se lako pamti, upotrijebite generator nasumičnih lozinki i pohranite je u upravitelj lozinki. Budite sigurniji od sigurnog.
Fiona Jackson ažurirala je ovaj članak u siječnju 2025.