mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-05 15:00:14 +00:00
switch nextcloud from sqlite to mysql
This commit is contained in:
46
docs/repair-nextcloud.md
Normal file
46
docs/repair-nextcloud.md
Normal file
@ -0,0 +1,46 @@
|
||||
# Repairing Nextcloud
|
||||
|
||||
You can run the maintenance commands like this:
|
||||
|
||||
```
|
||||
sudo -u nextcloud nextcloud-occ maintenance:mode --on
|
||||
sudo -u nextcloud nextcloud-occ maintenance:repair
|
||||
sudo -u nextcloud nextcloud-occ maintenance:mode --off
|
||||
```
|
||||
|
||||
Converting from SQLite to MySQL (mariadb)
|
||||
|
||||
First: keep Nextcloud set to SQLite as its dbtype, and separately launch MySQL
|
||||
as a service by copying the configuration found
|
||||
[here](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/nextcloud.nix).
|
||||
|
||||
No password is necessary, since the user-based auth works with UNIX sockets.
|
||||
|
||||
You can connect to the MySQL instance like this:
|
||||
|
||||
```
|
||||
sudo -u nextcloud mysql -S /run/mysqld/mysqld.sock
|
||||
```
|
||||
|
||||
Create a blank database for Nextcloud:
|
||||
|
||||
```sql
|
||||
create database nextcloud;
|
||||
```
|
||||
|
||||
Now setup the [conversion](https://docs.nextcloud.com/server/17/admin_manual/configuration_database/db_conversion.html):
|
||||
|
||||
```
|
||||
sudo -u nextcloud nextcloud-occ db:convert-type mysql nextcloud localhost nextcloud
|
||||
```
|
||||
|
||||
Ignore the password prompt. Proceed with the conversion.
|
||||
|
||||
Now `config.php` will be updated but the override config from NixOS will not
|
||||
be. Now update your NixOS configuration:
|
||||
|
||||
- Remove the `mysql` service you created.
|
||||
- Set `dbtype` to `mysql`.
|
||||
- Set `database.createLocally` to `true`.
|
||||
|
||||
Rebuild your configuration.
|
Reference in New Issue
Block a user