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

Come modificare la password dell'account root MySQL su CentOS7?

Che versione di MySQL stai usando? Sto usando 5.7.10 e ho avuto lo stesso problema con l'accesso come root

Ci sono 2 problemi:perché non posso accedere come root per iniziare e perché non posso usare "mysqld_safe" per avviare MySQL per reimpostare la password di root.

Non ho risposta alla configurazione della password di root durante l'installazione, ma ecco cosa fare per reimpostare la password di root

Modifica la password di root iniziale all'installazione può essere trovata eseguendo

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

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

  1. systemd è ora usato per occuparsi di MySQL invece di mysqld_safe (ecco perché ottieni il -bash: mysqld_safe: command not found errore - non è installato)

  2. L'user la struttura della tabella è cambiata.

Quindi, per reimpostare la password di root, devi comunque avviare MySQL con --skip-grant-tables opzioni e aggiorna l'user tabella, ma il modo in cui lo fai è cambiato.

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

Riferimento

Come dice a http://dev.mysql.com /doc/refman/5.7/en/mysqld-safe.html ,

Che ti porta a http://dev .mysql.com/doc/refman/5.7/en/server-management-using-systemd.html dove menziona il systemctl set-environment MYSQLD_OPTS= verso il fondo della pagina.

I comandi di reimpostazione della password si trovano in fondo a http:// dev.mysql.com/doc/refman/5.7/en/reset-permissions.html