我已经安装了MysqlVer 14.14 Distrib 5.7.9,适用于 Linux (x86_64),使用 EditLine 包装器 On CentOS Linux 版本 7.1.1503
我使用以下命令更改了 root 密码:
alter user 'root'@'localhost' identified by 'XXXXXXX';
flush privileges;
重新登录后
[root@server ~]# mysql -u root -p
Enter password:
错误 1524 (HY000):插件
未加载“*A6074285732753D325C55AD74E7517CF442C1A81”
自早期版本的 mySQL(我使用的是 5.7.10)以来,有两件事发生了变化:
systemd
现在用于照顾 mySQL 而不是mysqld_safe
(这就是为什么我得到-bash: mysqld_safe: command not found
错误 - 未安装)
The user
表结构已更改。
因此,要重置 root 密码,您仍然可以使用以下命令启动 mySQL--skip-grant-tables
选项并更新user
表,但是你的操作方式已经改变了。
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
Try to login using your new password:
7. mysql -u root -p
参考
正如它所说http://dev.mysql.com/doc/refman/5.7/en/mysqld-safe.html,
Note
从 MySQL 5.7.6 开始,使用 RPM 安装 MySQL
分发,服务器启动和关闭由systemd管理
几个 Linux 平台。在这些平台上,mysqld_safe 不再
安装,因为没有必要。有关详细信息,请参阅部分
2.5.10,“使用 systemd 管理 MySQL 服务器”。
这将带你去http://dev.mysql.com/doc/refman/5.7/en/server-management-using-systemd.html其中提到systemctl set-environment MYSQLD_OPTS=
朝向页面底部。
密码重置命令位于底部http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)