Do client certificate and key have to be generated with the same ca-key, as server certificates?
No, the main requirement for the client certificate is that the server trusts the CA which has signed that client certificate. In theory you can even trust multiple CA's and use client certificates from completely different sources.
Which CA has signed the server certificate of the MySQL server is irrelevant to the client authentication. (It should of course still be a CA that is trusted on the client...) I.e. you can use a letsencrypt server certificate and use your own internal CA so sign client certificates.
In addition: typically the CA only signs the public key/certificate and it does not generate private keys. (You generate a private key and certificate signing request (CSR) on the system which will using it. The private key then never leaves that system and the CSR is sent to the CA which returns a signed certificate.)