Stopping MySQLd from the DirectAdmin control panel won't tell you any error messages, and specifically won't tell you if MySQLd doesn't stop because it's still processing requests at the end of the timeout period.
So it's a much better idea to manage MySQLd from the command line, where you can see if it truly finishes the stop procedure.
That said, it's never a good idea to use killall on MySQLd because it may still be processing active requests, and -9 will send it an interrupt telling it to stop even if it's not finished. You should only do this if multiple tries without -9 result in still having processes that won't stop; it can cause databases to be out of sync.
And since it can take over a minute to stop an active MySQLD server, and since DirectAdmin will try to restart it every minute of the main daemon (the one in the pid file) isn't running), it's a good idea to try stopping it from DirectAdmin first, just so DirectAdmin won't continually try to restart it.
Also remember that the restart above does NOT add it back into the list of processes that DirectAdmin should monitor; you should probably doing a start command from DirectAdmin to be sure of that.
Jeff