Gogs 报 500 错误,Mysql 密码到期了?
前记
自用代码管理gogs和对应的mysql都部署在家用群晖的Docker上,今早发现gogs报500错误无法访问,经过查询日志确定是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了