mirror of
https://github.com/linuxserver/cstate.git
synced 2026-02-20 07:55:25 +08:00
Merge pull request #164 from linuxserver/mariadb-check-repair
Known Issue: MariaDB Check and Repair
This commit is contained in:
commit
884167df0f
53
content/issues/2023-05-29-mariadb.md
Normal file
53
content/issues/2023-05-29-mariadb.md
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
title: 'Known Issue: MariaDB Check and Repair'
|
||||
date: '2023-05-29 12:00:00Z'
|
||||
severity: notice
|
||||
resolved: false
|
||||
affected:
|
||||
- 'Known Issues'
|
||||
- 'mariadb'
|
||||
section: 'issue'
|
||||
---
|
||||
There is a known issue with MariaDB when updating the container image to a new version. If a database upgrade is required and user databases are not in a healthy state, then the MariaDB service may fail to start.
|
||||
|
||||
MariaDB version updates (ex: `10.6.x` to `10.11.x`) can happen when updating the container image. Upgrading user databases is done manually by running a command.
|
||||
|
||||
### Recovery Procedure
|
||||
|
||||
If you have recently updated your container image and your container logs show repeating entries of:
|
||||
|
||||
```log
|
||||
Caught SIGTERM signal!
|
||||
```
|
||||
|
||||
- Roll back the container image to a previous tag (ex: `lscr.io/linuxserver/mariadb:10.6.13` assuming this was the version you were running when things were last working)
|
||||
- Run the check, repair, analyze, and optimize commands, watch for any issues
|
||||
- Update the container image to the new tag (ex: `lscr.io/linuxserver/mariadb:10.11.3` or `lscr.io/linuxserver/mariadb:latest`)
|
||||
- Run the upgrade command
|
||||
|
||||
This should get MariaDB running again with your user databases in a healthy state.
|
||||
|
||||
### Check and Repair
|
||||
|
||||
If user databases are not in a healthy state (sometimes caused by a failed upgrade), it may be remedied by running:
|
||||
|
||||
```shell
|
||||
mariadb-check -u root -p<PASSWORD> -c -A # check all databases for errors
|
||||
mariadb-check -u root -p<PASSWORD> -r -A # repair all databases
|
||||
mariadb-check -u root -p<PASSWORD> -a -A # analyze all databases
|
||||
mariadb-check -u root -p<PASSWORD> -o -A # optimize all databases
|
||||
```
|
||||
|
||||
After running the above commands, you may need to run the upgrade command again.
|
||||
|
||||
### Upgrading
|
||||
|
||||
When this container initializes, if `MYSQL_ROOT_PASSWORD` is set an upgrade check will run. If an upgrade is required the log will indicate the need stop any services that are accessing databases in this container, and then run the command:
|
||||
|
||||
```shell
|
||||
mariadb-upgrade -u root -p<PASSWORD>
|
||||
```
|
||||
|
||||
### Closing Notes
|
||||
|
||||
If you are running MariaDB databases in production, we always recommend pinning the container image to a specific version tag, such as `lscr.io/linuxserver/mariadb:10.6.13-r0-ls97`, and planning any upgrades so that you can test and monitor them.
|
||||
Loading…
x
Reference in New Issue
Block a user