Если mysql
или mariadb
установлены с поддержкой unix sockets
, то есть в my.cnf
, в секции [mysqld]
, присутствует строка вида
socket = /var/run/mysql.sock,
то есть смысл именно через сокеты и устанавливать соединение. В любом фреймворке есть виджет подключения к базе, который, скорее всего, берёт параметры подключения из конфигурационного файла.
Например, в случае Вордпресса достаточно в wp-config.php
поменять
define('DB_HOST', 'localhost');
на
define('DB_HOST', 'localhost:/var/run/mysql.sock');
Даже на некоторых шаред-хостингах такое возможно, но об этом надо спрашивать техподдержку.
Соединение станет чуть быстрее (а как известно, копейка рубль бережёт), а система безопаснее. Правда, для последнего потребуется ещё отключить прослушивание tcp/ip
на стандартном порту 3306, для этого в секции [mysqld]
надо использовать директиву:
skip-networking
Впрочем, достаточно ограничить прослушивание только localhost
:
bind-address = 127.0.0.1
P.S.
На шаред-хостинге не обязательно спрашивать техподдержку. Достаточно в phpinfo
посмотреть в секциях mysql*
параметр default_socket
(варианты — mysql.default_socket
, mysqli.default_socket
, pdo_mysql.default_socket
). Его значение — адрес mysql
-сокета.
Проще всего так:
php -r 'phpinfo();' | grep default_socket
Оригинал: VK.com