I can confirm my username and password are correct. I can connect to RDS by php with no problem. I can also use Terminal/shell to connect to RDS. I used to connect to RDS by Mysql Workbench successfully for many times.
What's difference between pem on the shell and pem on the GUI. I use Mac OS, So my shell is Terminal.
I check my grants. I do think it's enough for me to connect to Mysql.
Mysql Workbench gives me error:
Authentication error. Please check that your username and password are correct and try again. Details (Original exception message): Authentication failed.
And Navicat for MySQL gives me error:
SSH tunnel: Bad private key!
But pem works good in bash. I'm really confused..... What's wrong? I have no clue.