Can someone give me a clear explanation of the differences between mysql (command line tool), mysqladmin (client tool for performing administrative tasks) and mysqld (mysql server).
解决方案
You could easily find that out yourself by just reading the man pages about the three commands:
mysqld is the server executable (one of them)
mysql is the command line client
mysqladmin is a maintainance or administrative utility
They serve different purposes. There is not simply a "difference" between them. For different task you have different utilities. Just like you use a screwdriver for a screw and a hammer for a nail.
If you want to query a database server you need to connect to it using a client. The client connects to the server which serves the mysql service. If you need to do administrative adjustments in the server you need an administration utility.
Typically the server is started and stopped by the operating system it runs on, so at bootup and shutdown times. The clients (there are different types of clients) are started and used by users or programs handling with data inside the server. And the administrative staff uses the administrative tool to administer the servers on their systems.