Notes on migrating Chevereto's database from MySQL 8 to MariaDB 10

madlaxcb

Chevereto Member
The following are all machine translations


Migration of chevereto's database from MySQL 8 to MariaDB 10 may result in missing tables. Last night, My Chevereto server was moved from Western United States to the OVH French machine, with the intention of reducing the server expenditure.

The old machine environment is
Nginx -Tengine2. 2.4(2.3.2)
MySQL 8.0.24
PHP-7.4
The new machine environment is
Nginx -Tengine2. 2.4(2.3.2)
MySQL 10.5.10-MariaDB
PHP-7.4

The only difference is the database. After the migration, the website reports an error and the cron task also reports an error


PDOException [42S02]: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'XXXXXXXX. XXX_ locks' doesn't exist

It seems that the database is missing tables. After checking and comparing, it is found that two tables are missing after the new database is imported


_ Assets (prefix omitted here)
_ Locks (prefix omitted here)

The collation of both tables is utf8mb4_ 0900_ ai_ ci utf8mb4_ 0900_ ai_ ci It is not supported below mysql8, so the two tables cannot be created after importing the new MariaDB database.
resolvent:
Method 1, the utf8mb4_ 0900_ ai_ ci Revised as utf8mb4_ unicode_ ci perhaps utf8mb4_ general_ ci Then import the new MariaDB database.
Method 2: after the exported database is imported into the new MariaDB database, the two new tables are created separately.



Then the site is restored.




Chevereto的数据库从MySQL 8迁移至MariaDB 10的注意事项
 
Last edited:

Rodolfo

⭐ Chevereto Godlike
Chevereto Staff
Administrator
You should try dropping and re-creating the indexes. I don't know why you troubled yourself changing the charsets.
 

madlaxcb

Chevereto Member
You should try dropping and re-creating the indexes. I don't know why you troubled yourself changing the charsets.
Some people, such as me, use some integrated panels like aaPanel, which can be easily exported or imported with one click. Then there will be such a problem.
 
Top