It looks like mdl_user.country actually should have a default value, a blank string, so if you're seeing "Field 'country' doesn't have a default value" presumably there's an issue with the way that table was created. From my site the relevant line in SHOW CREATE TABLE mdl_user is (I have MariaDB 10.3.22):
`country` varchar(2) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
What does your database have for this?
I attach the complete SHOW CREATE TABLE output for reference.