1) Não na maioria das circunstâncias - você pode (deve) configurar o MySQL para ser local apenas, a menos que alguém tenha acesso administrativo à caixa ou seja capaz de rodar como o usuário MySQL, o SSL não fará diferença.
2) Absolutamente, ele evita o homem no meio (alguém falsificando seu servidor web para que ele possa consultar o banco de dados por exemplo) e farejando dados.
3) Igual à maioria dos SSL - use criptografia strong (sem SHA1), proteja suas chaves, altere-as regularmente, etc.
4) Mais ou menos, eles não precisam ter as mesmas chaves ou algo assim, mas se a sua organização tiver uma CA, você poderá simplificar as coisas, mas fazer com que aprovem ("assine") seus certificados, o que tornaria as coisas mais simples um ponto de vista de gestão.