Do client certificate and key have to be generated with the same ca-key, as server certificates?
Não, o principal requisito para o certificado de cliente é que o servidor confie na CA que assinou esse certificado de cliente. Em teoria, você pode até confiar em várias CAs e usar certificados de clientes de fontes completamente diferentes.
Qual CA assinou o certificado do servidor MySQL é irrelevante para a autenticação do cliente. (Obviamente, ainda deve ser uma autoridade de certificação confiável no cliente ...) você pode usar um certificado de servidor letsencrypt e usar sua própria CA interna para assinar certificados de cliente.
Além disso: normalmente, o CA só assina a chave pública / certificado e não gera as chaves privadas. (Você gera uma chave privada e uma solicitação de assinatura de certificado (CSR) no sistema que a usará. A chave privada nunca sai desse sistema e o CSR é enviado para a CA, que retorna um certificado assinado.)