Я знаю, что это старый вопрос, но у меня тоже была эта проблема, и я решил ее, поэтому подумал, что поделюсь своим ответом для потомков.
Документы Amazon очень полезны. Сначала вам нужно скачать файл mysql-ssl-ca-cert.pem с Amazon (см. Ссылку). Затем попробуйте подключиться с терминала, используя этот файл.
mysql --host=mydb.c83ks9ckdk39.us-east-1.rds.amazonaws.com --user=myuser -p --ssl_ca=mysql-ssl-ca-cert.pem
Amazon говорит, что вы можете ограничить подключение к SSL с помощью этого оператора предоставления, так что запускайте этот оператор, пока он подключен.
GRANT USAGE ON *.* TO 'myuser'@'%' REQUIRE SSL
Теперь отключитесь и попробуйте подключиться снова без флага "--ssl_ca = mysql-ssl-ca-cert.pem". Если вам отказано, то вы знаете, что SSL-соединения теперь требуются для этого пользователя. Теперь вам просто нужно правильно настроить php. Примерно так:
$link = mysqli_init();
mysqli_options($link, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$link->ssl_set(NULL,NULL,"mysql-ssl-ca-cert.pem",NULL,NULL);
$ok = $link->real_connect($MYSQL['host'], $MYSQL['user'], $MYSQL['pass'], $MYSQL['db'], 3306, NULL, MYSQLI_CLIENT_SSL);
Если вы можете подключиться, то вы подключены с помощью SSL, и вы можете запустить запрос Тома, чтобы подтвердить, если хотите.
$rs = $link->query("SHOW STATUS LIKE 'ssl_cipher'");
print_r($rs->fetch_assoc());