sql >> Databasteknik >  >> RDS >> Mysql

Hur man ställer in och loggar in som root-användare i MySQL

Ett root-konto är ett superanvändarkonto som erbjuder ett brett utbud av privilegier i MySQL-databaserna. Som standard är det initiala lösenordet för root-kontot "tomt/tomt", vilket ger åtkomst till MySQL-servern som root för vem som helst.

Obs! Tomt/tomt lösenord betyder att det inte finns något lösenord; därför kan vem som helst logga in så länge som MySQL-privilegier har beviljats.

Så här loggar du in som root-användare i Linux:

  1. Välj startmenyn> Logga ut i det övre högra hörnet. Detta gör att du kan logga ut från det användarkonto som du använder för tillfället.
  2. Du kommer nu att se ett inloggningsfönster, och det är här du loggar in med användarnamnet "root" och lösenordet du ställt in för rotanvändaren. Om det finns flera användare i inloggningsfönstret, välj andra och logga in.

Om lösenordet inte är inställt eller om du har glömt eller behöver ändra ditt MySQL-lösenord, nedan är en guide för hur du ställer in/återställer lösenordet.

Hur man ställer in, ändrar och återställer ett MySQL root-lösenord

Det finns en stor möjlighet att du redan har MySQL igång någon annanstans i din databas. I det här fallet kan det komma en tid då du måste ändra eller ställa in rootanvändarlösenordet. Detta kan bero på att du glömt bort root-lösenordet eller att du helt enkelt vill stärka ditt lösenord.

Denna process hanteras via kommandoraden och fungerar med antingen MySQL- eller MariaDB-installationer. Och så länge du har administratörsbehörighet, antingen genom att använda sudo- eller su-syntaxer, spelar Linux-distributionen du använder ingen roll eftersom processen är liknande.

Observera:det har förekommit många attacker i IT-landskapet, vilket kräver mycket starka lösenord, vilket jag starkt rekommenderar för dina databaser. Du kan prova en osystematisk lösenordsgenerator och sedan spara lösenordet med hjälp av en lösenordshanterare.

Låt oss fortsätta.

Ställa in lösenordet för första gången

Under installationen av MySQL måste du vanligtvis ange ett initialt lösenord. Men om detta inte gjordes när du installerade och konfigurerade MySQL måste du först ställa in ett lösenord. Så här gör du det:

  1. Öppna först ett terminalfönster.
  2. När du har startat terminalen, klistra in och kör det här kommandot:
mysqladmin -u root password Fosslinux

Där Fosslinux är lösenordet som du kommer att använda från och med nu, det betyder att varje gång du loggar in på MySQL med kommandot mysql -u root -p , måste du knappa in lösenordet som vi just har konfigurerat.

Obs! Om du stöter på följande fel:Åtkomst nekad för användare 'root'@'localhost,' scrolla ner för att hitta lösningen i den här artikeln.

Alternativt kan du använda följande metod för att ställa in root-lösenordet för första gången. Använd kommandot nedan:

mysql_secure_installation

Detta kommando kommer att ställa in rootanvändarlösenordet och låter dig bli av med anonyma användare och testdatabasen. Dessutom kommer det också att förbjuda fjärrinloggning för rot. Detta i sin tur försäkrar dig ytterligare om konkret säkerhet för din MySQL-databas.

Efter att ha ställt in MySQL root-lösenordet för första gången är det dags att lära sig hur man ändrar det.

Ändra MySQL root-användarlösenordet

För att ändra MySQL root-lösenordet, följ stegen som nämns här:

  • Skapa först en ny fil med kommandot nedan:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Fosslinux$11';

Där Fosslinux$11 är det nya lösenordet som kommer att användas. Kom ihåg att uppfylla gällande lösenordspolicy genom att kombinera versaler, gemener, numeriska och specialtecken.

Spara filen som ~/mysql-pwd

  • Stoppa sedan MySQL-demonen med följande kommando:
sudo systemctl stop mysql
  • Nu när demonen är stoppad, utfärda och kör följande kommando på din terminal:
sudo mysqld -init-file=~/mysql-pwd
  • Så snart kommandotolken är klar med att utföra kommandot ovan, fortsätt och starta om MySQL-demonen med följande kommando:
sudo systemctl start mysql
  • Vid det här laget bör du kunna logga in på MySQL-kommandotolken med det nyinställda administratörslösenordet genom att utföra kommandot nedan:
mysql -u root -p

När en prompt visas, knappa in administratörslösenordet du skapade, så är du redo att gå.

Nu när vi fruktbart har lärt oss hur man ändrar det nyskapade MySQL root-lösenordet, är det dags att lära sig hur man återställer ett glömt eller förlorat MySQL root-lösenord.

Återställ ditt MySQL-lösenord

Tja, låt oss säga att du har glömt ditt MySQL root-användarlösenord och du behöver desperat återställa det. Allt du behöver göra är att följa stegen som nämns här:

1. Stoppa MySQL-serverprocessen med kommandot:

sudo service mysql stop

2. Starta MySQL-servern med följande kommando:

sudo mysqld_safe --skip-grant-tables --skip-networking &

3. Anslut till MySQL-servern som rotanvändare med kommandot:

mysql -u root

Du kommer att behöva utfärda följande MySQL-kommandon för att du ska kunna återställa root-lösenordet efter att ha slutfört stegen ovan:

mysql> use mysql;

mysql> update user set authentication_string=password('NEWPASSWORD') where user='root';

mysql> flush privileges;

mysql> quit

Obs:Glöm inte det NYTT LÖSENORD hänvisar till det nya lösenordet du kommer att använda för att logga in som root-användare.

När du är klar med att köra alla kommandon som nämns ovan, fortsätt och starta om MySQL-demonen med detta kommando:

sudo service mysql restart

Vid det här laget bör du kunna logga in på MySQL med det nyinställda lösenordet.

Det är allt. Vi tror att du nu är i stånd att ställa in, återställa och återställa ditt MySQL root-lösenord.

En viktig punkt att notera: Kom ihåg att ställa in ett mycket starkt lösenord för MySQL root-användaren. Ett lösenord som är svårt att knäcka. Detta kommer att öka säkerheten för dina databaser. Som du redan vet innehåller databaser mycket känslig information, så det sista du vill är att vem som helst ska få tillgång till din information utan ditt samtycke. Användning av ett långt lösenord och sådana som inte enkelt kan memoreras och gissas rekommenderas starkt. Om du använder en lösenordsgenerator för att skapa ditt lösenord, kom ihåg att lagra det i ett lösenordsvalv.

När du använder MySQL kan du bli så generad om du stöter på felmeddelanden. De flesta användare klagar till exempel över att de får det här felmeddelandet:Åtkomst nekad för användare root@localhost. Detta kanske inte är särskilt trevligt, men vi har en lösning för dig.

Hur man löser MySQL-felet:Åtkomst nekad för användaren root@localhost

Det här felmeddelandet visas vanligtvis för nya installationer av MySQL när du försöker ansluta till MySQL med root-användaren.

Så här löser du snabbt åtkomst nekad för användarrot på localhost. De skisserade stegen kan användas för både MySQL och MariaDB. Du behöver inte göra ändringar i några tabeller eller utföra några komplexa konfigurationer.

Som vi redan har sett i den här artikeln, när du installerar MySQL och vill få åtkomst till den på den lokala maskinen med rotanvändaren, använder du följande kommando:

mysql -u root -p

I de flesta fall får du felmeddelandet som vi just nämnde:"Åtkomst nekad för användare root@localhost."

För att du ska logga in på MySQL som root, använd först sudo för att göra ändringar i root-användaren:

sudo mysql

Ange sedan ditt lösenord vid prompten. Ett MySQL-skal kommer att laddas.

Använd kommandot ALTER USER och ändra autentiseringsmetoden för att logga in på MySQL som root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'insert_password';

Exempel:

För handledningens skull kommer jag att ändra lösenordet till 'Fosslinux som visas på kommandoraden och utdata nedan:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fosslinux';

Utdata

Vad kommandoraden ovan gör är att den ändrar lösenordet för användarroten och ställer in autentiseringsmetoden till mysql_native_password . Detta är ett traditionellt sätt för autentisering. Tyvärr uppstår felet ovan i de flesta fall eftersom autentiseringsläget som används är auth_plugin vilket inte är säkert, alltså felet.

Obs! Medan du skriver ditt önskade lösenord, se till att det följer reglerna som tillhandahålls av lösenord, en kombination av stora och små bokstäver plus siffror om du tänker ange ett starkare lösenord.

Efter att ha kört kommandona som anges ovan, avsluta MySQL-skalet genom att klicka på CTRL + D på ditt tangentbord eller knappa in "exit" på MySQL-skalet och klicka på enter. Du behöver inte starta om MySQL-tjänsten för att du ska kunna logga in med kommandot nedan:

sudo service mysql restart 

Vid det här laget kan du nu försöka komma åt MySQL med root igen. Knappa in:

i terminalen
mysql -u root -p

Ange lösenordet du använde med kommandot ALTER USER och skriv inte in systemlösenordet för att försöka komma åt MySQL eftersom det inte kommer att fungera. Du bör nu se MySQL-välkomstmeddelandet om allt gick bra.

Observera:kommandot ALTER USER kanske inte fungerar för versionerna av MySQL och MariaDB som är äldre än 5.7.6 respektive 10.1.20.

Sammanfattningsvis, nu är du i en position att kringgå MySQL FEL 1698 (28000):Åtkomst nekad för användaren 'root'@'localhost'. Det finns olika sätt att kringgå detta fel, men vi använde den mycket enklare och snabbare metoden. Se till att du matar in kommandona som anges i den här artikeln för att undvika fel i SQL-syntaxen. Det är bättre att kopiera och klistra in dem.

Slutsats

Den här artikeln förklarar och bryter ner alla ämnen som rör rotanvändarinloggningen i MySQL. Den visar dig inte bara hur du loggar in som root-användare i MySQL, utan den visar dig också hur du säkerställer att du gör det utan att stöta på några fel och hur du kringgår det vanligaste felet om det skulle inträffa.

Artikeln bryter ytterligare ned stegen för att ställa in, ändra och återställa ett MySQL root-lösenord och ställa in root-lösenordet för första gången. Se till att hålla dig till alla processer som anges i den här artikeln för att undvika säkerhetsintrång genom att använda starka lösenordskombinationer. Vi hoppas att artikeln kommer att vara till hjälp. Om ja, ge en tumme upp via kommentarsektionen.


  1. Hur Round() fungerar i SQLite

  2. Övervakning av prestandaräknare via PERFMON | Felsökning av SQL Server-prestanda -3

  3. Paginering i SQL Server med OFFSET/FETCH

  4. Hur hittar man luckor i sekventiell numrering i mysql?