https://stackoverflow.com/questions/33510184/change-mysql-root-password-on-centos7/34207996#34207996
- 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)
The user table structure has changed.
Stop mysql:
systemctl stop mysqldSet the mySQL environment option
systemctl set-environment MYSQLD_OPTS=”–skip-grant-tables”Start mysql usig the options you just set
systemctl start mysqldLogin as root
mysql -u rootUpdate 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> quitStop mysql
systemctl stop mysqldUnset the mySQL envitroment option so it starts normally next time
systemctl unset-environment MYSQLD_OPTSStart mysql normally:
systemctl start mysqldTry to login using your new password:
mysql -u root -p
Reference
As it says at http://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html,
Note
As of MySQL 5.7.6,for MySQL installation using an RPM distribution,server startup and shutdown is managed by systemd on several Linux platforms. On these platforms,mysqld_safe is no longer installed because it is unnecessary. For more information,see Section 2.5.10,“Managing MySQL Server with systemd”.Which takes you to http://dev.mysql.com/doc/refman/5.7/en/server-management-using-systemd.html where it mentions the systemctl set-environment MYSQLD_OPTS= towards the bottom of the page
The password reset commands are at the bottom of
http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。