centos7修改mysql的密码

  1. systemd is now used to look after mySQL instead of mysqld_safe (which is why you get the -bash: mysqld_safe: command not found error - it's not installed)

  2. The user table structure has changed.

So to reset the root password, you still start mySQL with --skip-grant-tables options and update the user table, but how you do it has changed.

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
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

9. Try to login using your new password:
mysql -u root -p

你可能感兴趣的:(centos7修改mysql的密码)