MySQL (MariaDB) Unix Sockets

Если 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *