Control-c should not exit the client. It should cancel partial input or abort the current statement if there is one, but it should not do anything else otherwise.
Control-d should exit the client if the input line is empty.
This is the expected behavior for interactive applications. The current behavior is unexpected and disruptive.
(Yes, I know about --sigint-ignore, but that is a poor solution.)
This bug was fixed in mysql 5.7: https://bugs.mysql.com/bug.php?id=66583