Due to hardware constraints, I initially self-hosted a Ghost site on a Windows operating system using Docker Desktop. Everything worked well, but I am now ready to move it to my other server. I copied the Ghost folder, including the ‘content’ subfolder and the ‘mysql’ directory, to an Ubuntu server. Then, I started the same Docker Compose files with some minor modifications to the mounting locations. However, the database will not start because it was initialized under Windows, which is not case-sensitive, while Ubuntu is case-sensitive. The specific error I am encountering is: “Different lower_case_table_names settings for server (‘0’) and data dictionary (‘2’).” I have tried manually changing lower_case_table_names to 2, but MySQL automatically corrects it back to 0 to prevent future issues. I thought about doing an SQL dump and import but not sure how that works with Docker’s bind mount or volumes. If anyone knows a proper way to migrate the database and would like to share their ideas, I would greatly appreciate it.
You need to do a MySQL export / import.
Run both the dump and import from Ubuntu, connecting to MySQL on your Windows server.