在 CentOS 6 上重置 MySQL 和 Plesk 的管理员密码

Reset admin password for MySQL and Plesk on CentOS 6

我已经更新 mysql 使用...

wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
yum localinstall mysql57-community-release-el6-7.noarch.rpm
yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql55-community
yum update mysql-server

一切顺利。但是当我尝试用

更新表格等时
mysql_upgrade -u root -p

我得到了

Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Error: Failed while fetching Server version! Could be due to unauthorized access.
FATAL ERROR: Upgrade failed

我试过了

mysql_upgrade -uadmin -p

mysql_upgrade -uadmin -p`cat /etc/psa/.psa.shadow`

读到这是 Plesk 所需要的,但结果相同。

mysqlcheck --all-databases --check-upgrade --auto-repair

给予

mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

此时我检查了密码,但我认为它们是正确的。

此时我在尝试 change/update/reset mysql 中的密码时搞砸了。我按照我在网上找到的代码...

cp /etc/psa/.psa.shadow /etc/psa/.psa.shadow.bak # just backup
chmod 400 /etc/psa/.psa.shadow.bak # just secure backup
echo "PLACE PLAIN PASSWORD OF MySQL user ADMIN HERE" > /etc/psa/.psa.shadow

还有

mysql -uadmin -p'cat /etc/psa/.psa.shadow' mysql -e "update user set Password=password('password') where User='admin'; flush privileges;"

现在我有

Unable to connect to database: mysql_connect(): Access denied for user 'admin'@'localhost' (using password: NO) (Error code: 1045) (Abstract.php:69)

尝试连接到 Plesk 时。

所以我觉得现在我的 mysql 管理员密码和 /etc/psa/.psa.shadow 中的密码不匹配?我一直在尝试通过设置 mysql 管理员密码和 /etc/psa/.psa.shadow 的相同密码来找到如何重新开始的方法,但在这一点上我决定寻求帮助!

有没有人可以帮助我? :)

So I think now my mysql admin password and password in /etc/psa/.psa.shadow do not match?

是的,你是对的。

您可以从 /etc/psa/.psa.shadow 为 MySQL 的管理员用户设置密码,例如:

mysql -uadmin -pYouCurrentPassword -e "update user set Password=password('string from .psa.shadow') where User='admin'; flush privileges;"

之后应该可以登录 plesk 并根据需要更改密码。