0

I migrated the MySQL in my server from MySQL 5.7 to MariaDB 10.3 and the MySQL database, the one that controls users and passwords corrupted.

It has several tables that in the column "collation" says "in use" and are non accesible. When I try to inspect the content of the table it says: "#1932 - Table 'nameofthetable' doesn't exist in engine". Same message if I try to repair it or optimize it.

It seems I have to replace the DB with a correct version of it but I don't have a backup before the process. The table that controls users and passwords works correctly, but I can't assign/modify permissions for new users on any database serverwide.

The data of my server is:

  • CentOS v7.9.2009 kvm
  • cPanel Versión 100.0 (build 5)
  • Apache Version 2.4.51
  • MySQL Version 10.3.32-MariaDB
  • Kernel Version 3.10.0-1160.49.1.el7.x86_64

Thanks!

EDIT to add information:

Used WHM migration feature. The problem is not in the DB server or even all this general administration database, but only in a few tables inside this database called "mysql" (yes, the DB is called "mysql"). I've repaired all other corrupted tables in all other databases in the server by deleting the broken tables via terminal and then uploading an sql of the now missing tables through phpmyadmin using the older tables from the backup before the migration. Technically is someone has a MariaDB 10.3 installation could help me sharing with me an sql of all that "mysql" database without the user/password tables.

Here is the list of the corrupted tables:

  • engine_cost
  • gtid_executed
  • help_category
  • help_keyword
  • help_relation
  • help_topic
  • innodb_index_stats
  • innodb_table_stats
  • plugin
  • servers
  • server_cost
  • slave_master_info
  • slave_relay_log_info
  • slave_worker_info
  • time_zone
  • time_zone_leap_second
  • time_zone_name
  • time_zone_transition
  • time_zone_transition_type

EDIT 2: This is the corrupt table: https://mariadb.com/kb/en/the-mysql-database-tables/

I guess I have to manually create the corrupted tables, but I don't know if I have to add some information into those tables

4
  • To the contrary of popular belief, mysql and mariadb are two different database products that have common ancestry, but diverged years ago. You cannot simply upgrade one to the other. This is called a migration.
    – Shadow
    Dec 24, 2021 at 1:40
  • Point noted, editing original post. Dec 24, 2021 at 1:47
  • How did you do the migration? If you just copy the data folder from previous MySQL file to the current MariaDB, that's not the correct way.
    – FanoFN
    Dec 24, 2021 at 2:39
  • Used WHM migration feature. In fact WHM calls it an "upgrade". Is a 2 clic action. It should've worked correctly. It the problem is not in the server or even all this general administration database, but only in a few tables inside this DB called "mysql" (yes, the DB is called "mysql". I've repaired all other corrupted tables in all other databases in the server by deleting the broken tables via terminal and then uploading through phpmyadmin the older tables from the backup before the migration. The problem is that I didn't made a backup of this DB (the only one I haven't). Dec 24, 2021 at 11:52

1 Answer 1

0

Finally I lost a lot of data, there was a corruption when migrating from MySQL to Maria because a wrong order in processes. It was human error. This question is to be closed.

1
  • You can tick your answer. If you really want to, you csn delete the question. Jun 28 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.