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
-
systemd
è ora usato per occuparsi di MySQL invece dimysqld_safe
(ecco perché ottieni il-bash: mysqld_safe: command not found
errore - non è installato) -
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