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
了