If you have problems with the fact that anyone can delete the MySQL communication socket /tmp/mysql.sock, you can, on most versions of Unix, protect your /tmp filesystem by setting the sticky bit on it. Log in as root and do the following:
shell> chmod +t /tmp
This will protect your /tmp filesystem so that files can be deleted only by their owners or the superuser (root).
You can check if the sticky bit is set by executing ls -ld /tmp. If the last permission bit is t, the bit is set.
You can change the place where MySQL uses / puts the socket file the following ways:
Specify the path in a global or local option file. For example, put in /etc/my.cnf:
[client] socket=path-for-socket-file [mysqld] socket=path-for-socket-file
See Option files.
Specifying this on the command-line to mysqld_safe and most clients with the --socket=path-for-socket-file option.
Specify the path to the socket in the MYSQL_UNIX_PORT environment variable.
Defining the path with the configure option --with-unix-socket-path=path-for-socket-file. See configure options.
You can test that the socket works with this command:
shell> mysqladmin --socket=/path/to/socket version