MySQL root-wachtwoord wijzigen

Ik heb geprobeerd mijn MySQL-rootwachtwoord opnieuw in te stellen. Ik heb mysqld_safe --skip-grant-tablesuitgevoerd, het root-wachtwoord bijgewerkt en de gebruikerstabel gecontroleerd om er zeker van te zijn dat deze aanwezig is. Nadat ik de mysql-daemon opnieuw had opgestart, probeerde ik in te loggen met het nieuwe root-wachtwoord dat ik zojuist heb ingesteld en krijg nog steeds toegang geweigerd voor ‘root’-fouten van de gebruiker. Ik heb ook geprobeerd mysql volledig te verwijderen en opnieuw te installeren (inclusief het verwijderen van het bestand my.cnf) en nog steeds geen geluk. Heeft iemand suggesties voor wat ik nu kan doen?

Bij voorbaat dank


Antwoord 1, autoriteit 100%

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypass');
FLUSH PRIVILEGES;

Antwoord 2, autoriteit 38%

bekijk dit eens uit de MySQL-referentiehandleiding:

Eerste login mysql:

# mysql -u root -p

Voer vervolgens bij mysql-prompt uit:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';

Dan

FLUSH PRIVILEGES;

Bekijk deze pagina voor meer informatie: Het root-wachtwoord opnieuw instellen : Unix-systemen


Antwoord 3, autoriteit 28%

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

U vindt Het root-wachtwoord opnieuw instellenin de MySQL-documentatie.


Antwoord 4, autoriteit 18%

Dit is het bijgewerkte antwoord voor WAMP v3.0.6 en hoger

> UPDATE mysql.user 
> SET authentication_string=PASSWORD('MyNewPass') 
> WHERE user='root';
> FLUSH PRIVILEGES;

In MySQL versie 5.7.x is er geen wachtwoordveld meer in de mysql-tabel. Het is vervangen door authentic_string. (Dit is voor de terminal/CLI)

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE user='root';
FLUSH PRIVILEGES;

(Dit indien voor PHPMyAdmin of een Mysql GUI)


Antwoord 5, autoriteit 16%

Volg de onderstaande stappen.

  1. sudo service mysql stop
  2. sudo mysqld_safe --skip-grant-tables
  3. sudo service mysql start
  4. sudo mysql -u root
  5. use mysql;
  6. show tables;
  7. describe user;
  8. update user set authentication_string=password('1111') where user='root';
  9. FLUSH PRIVILEGES;

log in met wachtwoord 1111


Antwoord 6, autoriteit 13%

Ik heb ook wat rondgezocht en waarschijnlijk zijn sommige antwoorden geschikt voor bepaalde situaties,

mijn situatie is Mysql 5.7 op een Ubuntu 18.04.2 LTS-systeem:

(verkrijg root-rechten)

$ sudo bash

(wachtwoord instellen voor root db-gebruiker + beveiliging in stappen implementeren)

# mysql_secure_installation

(geef toegang aan de root gebruiker via wachtwoord in plaats van socket)

(+ edit: blijkbaar moet je het wachtwoord opnieuw instellen?)

(zet het niet op ‘mySecretPassword’!!!)

# mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> set password for 'root'@'localhost' = PASSWORD('mySecretPassword'); 
mysql> FLUSH PRIVILEGES;
mysql> exit;
# service mysql restart

Veel dank aan zetacu(en erich) voor dit uitstekende antwoord(na een paar uur zoeken…)

Veel plezier 😀

S.

Bewerken (2020):

Deze methode werkt niet meer, zie deze vraagvoor toekomstig gebruik…


Antwoord 7, autoriteit 12%

Gevonden! Ik ben vergeten het wachtwoord te hashen toen ik het veranderde. Ik heb deze vraag gebruikt om mijn probleem op te lossen:

update user set password=PASSWORD('NEW PASSWORD') where user='root';

Ik ben het PASSWORD('NEW PASSWORD')vergeten en heb het nieuwe wachtwoord gewoon in platte tekst ingevoerd


Antwoord 8, autoriteit 7%

Op MySQL 8.0.4+

Om de huidige rootgebruiker bij te werken:

select current_user();
set password = 'new_password';

Andere gebruiker updaten:

set password for 'otherUser'@'localhost' = 'new_password';

Wachtwoordbeleid instellen voordat het wachtwoord wordt bijgewerkt:

set global validate_password.policy = 0;
set password = 'new_password';
set password for 'otherUser'@'localhost' = 'new_password';

Andere/betere manier om het root-wachtwoord bij te werken:

mysql_secure_installation

Wilt u vasthouden aan 5.x-authenticatie, zodat u nog steeds oudere apps kunt gebruiken?

Op my.cnf

default_authentication_plugin = mysql_native_password

Om root bij te werken:

set global validate_password.policy = 0;
alter user 'root'@'localhost' identified with mysql_native_password by 'new_password';

Antwoord 9, autoriteit 6%

Dit werkte voor mij –

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

https://dev. mysql.com/doc/mysql-windows-excerpt/5.7/en/resetting-permissions-windows.html


Antwoord 10, autoriteit 6%

Op MySQL 8 moet u de hashmethode voor het wachtwoord opgeven:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new-password';

Antwoord 11, autoriteit 5%

Voor MySQL 5.7.6 en hoger:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Voor MySQL 5.7.5 en eerder:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

Antwoord 12, autoriteit 3%

Je moet het wachtwoord opnieuw instellen! stappen voor mac osx (getest en werkend) en ubuntu

MySQL stoppen

$ sudo /usr/local/mysql/support-files/mysql.server stop

Start het in de veilige modus:

$ sudo mysqld_safe --skip-grant-tables

(bovenste regel is het hele commando)

Dit zal een doorlopend commando zijn totdat het proces is voltooid, dus open een ander shell/terminal-venster, log in zonder wachtwoord:

$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

MySQL starten

sudo /usr/local/mysql/support-files/mysql.server start

je nieuwe wachtwoord is ‘wachtwoord’.


Antwoord 13, autoriteit 3%

Voor de huidige nieuwste mysql-versie (8.0.16) werkte geen van deze antwoorden voor mij.

Na verschillende antwoorden te hebben bekeken en ze samen te voegen, heb ik dit uiteindelijk gebruikt dat werkte:

update user set authentication_string='test' where user='root';

Hopelijk helpt dit.


Antwoord 14, autoriteit 2%

Het opdrachtregelprogramma mysqladmingebruiken om het MySQL-wachtwoord te wijzigen:

mysqladmin --user=root --password=oldpassword password "newpassword"

Bron


Antwoord 15, autoriteit 2%


Dit is voor Mac-gebruikers.


Update: op 8.0.15 (misschien al voor die versie) werkt de functie PASSWORD() niet. U moet het volgende doen:

Zorg ervoor dat u eerst MySQL hebt gestopt (hierboven).
Start de server in veilige modus met privilege bypass:

sudo mysqld_safe –skip-grant-tables

vervang deze mysqld_safe door uw MySQL-pad zoals in mijn geval het geval was

sudo /usr/local/mysql/bin/mysqld_safe skip-grant-tables

dan moet je de volgende stappen uitvoeren.

mysql -u root

UPDATE mysql.user SET authenticatie_string=null WHERE User=’root’;

VORM VOORRECHTEN;

afsluiten;

Dan

mysql -u root

VERANDER GEBRUIKER ‘root’@’localhost’ GEDENTIFICEERD MET caching_sha2_password DOOR
‘uwwachtwoord’;


Antwoord 16

In MySQL 5.7 wordt het wachtwoord vervangen door ‘authentication_string’.

gebruik

update user set authentication_string=password('myfavpassword') where user='root';

Antwoord 17

Voor mij konden alleen deze stappen me helpen het root-wachtwoord in te stellen op versie 8.0.19:

mysql
SELECT user,authentication_string FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_pass_here';
FLUSH PRIVILEGES;
SELECT user,authentication_string FROM mysql.user;

Als je veranderingen kunt zien voor de rootgebruiker, dan werkt het.
Bron: https://www.digitalocean. com/community/questions/can-t-set-root-password-mysql-server


Antwoord 18

een veel voorkomende fout die ik van tijd tot tijd tegenkom, is dat ik de optie -pvergeet, dus weet je zeker dat je het volgende hebt gebruikt:

mysql -u root -p

Antwoord 19

Ik heb het antwoord van @kta geprobeerd, maar het werkte niet voor mij.

Ik gebruik MySQL 8.0

Dit werkte voor mij:

mysql>SET PASSWORD FOR 'root'@'localhost' = 'yourpassword'


Antwoord 20

Zoveel reacties, maar ik ben op deze manier geholpen:

sudo mysqladmin -u root password 'my password'

In mijn geval kreeg ik na installatie mysql-service zonder wachtwoord voor rootgebruiker, en ik moest het wachtwoord instellen voor mijn veiligheid.


Antwoord 21

stop alle wamp-services, verlaat wamp.

open kladblok en typ>
STEL WACHTWOORD IN VOOR ‘root’@’localhost’ = PASWOORD(”);

sla het dan op in c: drive met een willekeurige naam .. zoals deze “c:/example.txt”

ga nu naar uw “wamp” falder wamp > bin > mysql > mysql(uw versie) > bin
in mijn geval is het pad “C:\wamp\bin\mysql\mysql5.6.17\bin”

Kopieer nu je pad en voer dan cmd uit met (ctrl + r) typ dan “cmd” (enter)

type cd, klik met de rechtermuisknop op cmd en plak het pad (enter)
typ nu (mysqld –init-file=C:\example.txt) zonder accolades dan (enter)

start vervolgens de pc opnieuw of open taskmgr en sluit mysqld.exe af

start wamp en je wachtwoord wordt verwijderd…


Antwoord 22

Voor MacOS-gebruikers, als u uw root-wachtwoord vergeet, het antwoord van @thusharaK(https://stackoverflow.com/a/28601069/ 5628856) is goed, maar er zijn wat meer trucjes:

Als je systeemvoorkeur gebruikt om mysql serverside te starten, gewoon

sudo mysqld_safe --skip-grant-tables

werkt mogelijk niet voor u.

Je moet ervoor zorgen dat de opdrachtregelargumenten hetzelfde zijn met de systeemstartconfiguratie.

De volgende opdracht werkt voor mij:

/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 --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so --skip-grant-tables

U kunt

. gebruiken

ps aux | grep mysql

om die van jezelf te controleren.


Antwoord 23

Of gebruik gewoon een interactieve configuratie:

sudo mysql_secure_installation

Antwoord 24

Op Ubuntu,

sudo dpkg-reconfigure mysql-server-5.5 

Vervang 5.5door je huidige versie en je wordt gevraagd om het nieuwe root-wachtwoord.


Antwoord 25

  1. Op Mac open systeemvoorkeuren> MijnSQL.
  2. Controleer in het configuratiegedeelte van MySQL op initialisatie van de database.
  3. wijzig het wachtwoord in de prompt.
    database initialiseren

Other episodes