I am trying to update a nextcloud instance to mysql from sqlite.
I have somewhat limited shell access. I can only run commands as the web user. But I can run occ and other commands work.
When I do the database conversion the output looks like that:
php occ db:convert-type mysql 8h localhost 8h-nextcloud --password=“xxx” --all-apps
Clearing schema in new database
Creating schema in new database
The following tables will not be converted:
But nothing happens after that. I see that tables were created in the mysql database. But config.php still shows sqlite3 as database. If I manually edit config.php to point to the new database I cannot login to nextcloud anymore.
What error is shown when you try to login. The tables refer to different apps, you would probably use the data of these apps (starting like the apps were installed for the first time).
At the login it just says: Password incorrect.
I assume that the database was created but the conversion process fails at some point and the data is not transferred to the new database.
Is the password in the database? Check the tables. Check also your logfiles there are perhaps problems when connecting the database.
I will check the database. But my Mysql knowledge is not huge and I am quite lost looking for it. I also searched the huge nextcloud log for “mysql” and there was no match.
Also note: As soon as I switch back to sqlite my nextcloud instance runs again with no problems.
I am thinking of starting a new instance with mysql database from scratch. But is there any way apart from the db:convert method to move the data to a new installation?
Update: I checked the database: It is all set up but there is not data in it. Conclusion > The conversion failed
you can add
-vvvv to the occ command to make it more verbose. Also check your logfiles for more information.
I think I have figured out something. I will try to move the sqlite database to a system where I have full shell access and convert it there.