sql >> Database teknologi >  >> RDS >> Mysql

Hvordan ændres MySQL root-kontoadgangskoden på CentOS7?

Hvilken version af mySQL bruger du? Jeg bruger 5.7.10 og havde det samme problem med at logge på som root

Der er 2 problemer - hvorfor kan jeg ikke logge ind som root til at starte med, og hvorfor kan jeg ikke bruge 'mysqld_safe' til at starte mySQL for at nulstille root-adgangskoden.

Jeg har intet svar på opsætning af root-adgangskoden under installationen, men her er hvad du gør for at nulstille root-adgangskoden

Rediger den oprindelige root-adgangskode ved installation kan findes ved at køre

grep 'temporary password' /var/log/mysqld.log
 

http://dev.mysql.com /doc/refman/5.7/da/linux-installation-yum-repo.html

  1. systemd bruges nu til at passe på mySQL i stedet for mysqld_safe (det er grunden til, at du får -bash: mysqld_safe: command not found fejl - den er ikke installeret)

  2. user tabelstrukturen er ændret.

Så for at nulstille root-adgangskoden starter du stadig mySQL med --skip-grant-tables muligheder og opdater user tabel, men hvordan du gør det har ændret sig.

1. Stop mysql: systemctl stop mysqld 2. Set the mySQL environment option systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" 3. Start mysql usig the options you just set systemctl start mysqld 4. Login as root mysql -u root 5. Update the root user password with these mysql commands mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword') -> WHERE User = 'root' AND Host = 'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit *** Edit *** As mentioned my shokulei in the comments, for 5.7.6 and later, you should use mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; Or you'll get a warning 6. Stop mysql systemctl stop mysqld 7. Unset the mySQL envitroment option so it starts normally next time systemctl unset-environment MYSQLD_OPTS 8. Start mysql normally: systemctl start mysqld Try to login using your new password: 7. mysql -u root -p

Reference

Som der står på http://dev.mysql.com /doc/refman/5.7/da/mysqld-safe.html ,

Hvilket fører dig til http://dev .mysql.com/doc/refman/5.7/en/server-management-using-systemd.html hvor den nævner systemctl set-environment MYSQLD_OPTS= nederst på siden.

Kommandoerne til nulstilling af adgangskode er nederst på http:// dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html



  1. MySQL giver læst ECONNRESET fejl efter inaktiv tid på node.js server

  2. Hvordan kører man MySQL-kommando på bash?

  3. opdatere forespørgsel med join på to tabeller

  4. Hvorfor genererer EF SQL-forespørgsler med unødvendige nul-tjek?