Gogs报500错误,Mysql密码到期了?

前记

自用代码管理gogs和对应的mysql都部署在家用群晖的Docker上,今早发现gogs500错误无法访问,经过查询日志确定是mysql 5.7密码已过期,如下错误

1
Error 1862: Your password has expired. To log in you must change it using a client that supports expired passwords.

解决

ssh登陆到群晖

1
ssh admin@192.168.1.x -p xx22

首先我们需要对群晖admin账户提权
1
sudo su

然后进入对应的docker容器并登陆到mysql客户端,这里说明一下客户端的密码是不会过期的
1
docker exec -it mysql1 mysql -uroot -ppassword

然后重置密码
1
set password = password('newpassword');

接下来刷新权限
1
flush privileges;

最后设置密码永不过期
1
SET GLOBAL default_password_lifetime = 0;

到此问题就解决了,又可以愉快的访问gogs

我就想试试,没别的意思!