Mysql може працювати в декількох режимах: з'єднання по порту і через unix сокет. Розглянемо переваги і недоліки обох методів.
1) З'єднання по порту.
Цей тип з'єднання підходить для тих випадків, коли БД і ПО, яке використовує БД, знаходяться на різних фізичних серверах або ПЗ не вміє працювати через сокети. Це переваги. що ж стосується недоліків, то це неможливість поставити права на рівні ФС і помітне уповільнення в швидкості роботи
2) З'єднання через unix сокет.
Цей тип підходить тоді, коли потрібно жорстко убезпечити mysql з'єднання. Мало того, що з'єднання тільки через сокет, але і можна роздавати права на рівні ФС.
3) Налаштування сервера mysql.
Для включення роботи сервера в режимі тільки «unix сокети» в конфігураційний файл my.cnf вносимо такі рядки:
socket = /tmp/mysql.sock
skip-networking
Після цього перезапускаємо демон mysql і радіємо:
# Sockstat | grep mysql
www httpd 60838 15 stream -> /tmp/mysql.sock
mysql mysqld 60732 10 stream /tmp/mysql.sock
mysql mysqld 60732 28 stream /tmp/mysql.sock
mysql mysqld 60732 69 stream /tmp/mysql.sock
mysql mysqld 60732 70 stream /tmp/mysql.sock
mysql mysqld 60732 71 stream /tmp/mysql.sock
mysql mysqld 60732 72 stream /tmp/mysql.sock
mysql mysqld 60732 74 stream /tmp/mysql.sock
www httpd 43542 16 stream -> /tmp/mysql.sock
www httpd 78344 17 stream -> /tmp/mysql.sock
www httpd 74725 17 stream -> /tmp/mysql.sock
www httpd 73062 17 stream -> /tmp/mysql.sock
www httpd 92412 18 stream -> /tmp/mysql.sock
Тільки з'єднання по сокета.
4) Типові налаштування деякого ПО для роботи через сокети.
$ Cfg [ 'Servers'] [$ i] [ 'connect_type'] = 'socket';
$ Cfg [ 'Servers'] [$ i] [ 'socket'] = '/tmp/mysql.sock';