Решением было добавить MASTER_SSL_CA, MASTER_SSL_CERT и MASTER_SSL_KEY в мой оператор CHANGE MASTER TO, чтобы вручную указывать на ca, cert и key, а скорее на доверяющий mysql для чтения их из конфигурации.
Насколько я могу судить, это означает, что документы mysql неверны.
Они утверждают, что пути могут быть установлены в разделе [client] my.cnf, но это явно не так, по крайней мере для меня. По какой-то причине секция [client], похоже, используется клиентом mysql, но игнорируется для репликации.
Полагаю, я также неправильно понял самозаверяющие сертификаты. MASTER_SSL_VERIFY_SERVER_CERT работает, потому что на самом деле у меня нет самозаверяющих сертификатов, у меня есть сертификаты, подписанные моим собственным CA. Сам сертификат CA является самоподписанным, но он отличается от того, что сертификаты master / slave являются самоподписанными.
И, наконец, я совершенно не понял цели MASTER_SSL_VERIFY_SERVER_CERT. Оказывается, мне это вообще не нужно, потому что мой личный центр сертификации подписывает только сертификаты для этого одного домена, так что нечего получить, проверив, что общее имя сертификата сервера соответствует запрошенному домену. Так будет всегда. Проверка будет полезна только при использовании доверенного центра сертификации, который подписывает сертификаты для многих доменов. Затем вы захотите убедиться, что сертификат принадлежит домену, который вы запрашивали, в противном случае вы будете уязвимы для атак типа «человек посередине».
Надеюсь, этот информационный беспорядок поможет кому-то еще.