Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Подключить Mysql через Unix Socket для OcStore


Recommended Posts

Как подключить mysql через unix socket?

В инете не нашел рабочей инфы

 

Стандартная конфа

Спойлер

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', '127.0.0.1');
define('DB_USERNAME', 'ocstore');
define('DB_PASSWORD', 'passwd');
define('DB_DATABASE', 'ocstore_db');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');

 


 Так не работает

define('DB_HOSTNAME', 'unix:/tmp/mysql.sock');

define('DB_HOSTNAME', 'localhost/tmp/mysql.sock');

define('DB_HOSTNAME', 'tmp/mysql.sock');

 

Змінено користувачем fduw
Надіслати
Поділитися на інших сайтах


3 hours ago, fduw said:

Как подключить mysql через unix socket?

плохо искали

http://www.mysql.ru/docs/man/Can_not_connect_to_server.html

 

Клиент MySQL на Unix может соединиться с сервером mysqld двумя различными способами: используя либо Unix-сокеты, когда соединение происходит через файл в файловой системе (по умолчанию `/tmp/mysqld.sock'), либо TCP/IP с соединением через номер порта. Unix-сокеты обеспечивают большую скорость, чем TCP/IP, но могут применяться только при соединении с сервером на том же компьютере. Unix-сокеты используются, если не задано имя хоста или если задано специальное имя localhost.

Надіслати
Поділитися на інших сайтах

15 часов назад, 100napb сказал:

плохо искали

http://www.mysql.ru/docs/man/Can_not_connect_to_server.html

 

Клиент MySQL на Unix может соединиться с сервером mysqld двумя различными способами: используя либо Unix-сокеты, когда соединение происходит через файл в файловой системе (по умолчанию `/tmp/mysqld.sock'), либо TCP/IP с соединением через номер порта. Unix-сокеты обеспечивают большую скорость, чем TCP/IP, но могут применяться только при соединении с сервером на том же компьютере. Unix-сокеты используются, если не задано имя хоста или если задано специальное имя localhost.

 

15 часов назад, stickpro сказал:

попробуй 'localhost:/tmp/mysql.sock' или ':/tmp/mysql.sock'

Не помогает

Надіслати
Поділитися на інших сайтах


6 hours ago, fduw said:

 

Не помогает 

только ради эксперимента, только ради Вас.

1. /system/library/db/mysqli.php  зеленым - добавил

Spoiler

<?php

namespace DB;
final class MySQLi {
    private $connection;

    public function __construct($hostname, $username, $password, $database, $port = '3306') {
        $this->connection = new \mysqli($hostname, $username, $password, $database, $port);

        echo 'Соединение установлено... ' . mysqli_get_host_info($this->connection) . "\n"; //выведет типа "Соединение установлено... Localhost via UNIX socket" или via TCP/IP

2. в config.php файлах опенкарта

define('DB_HOSTNAME', 'localhost');

3. profit

4. вдогонку

https://www.php.net/manual/ru/mysqli.construct.php

Spoiler

Замечание:

Передача параметра socket не будет явно задавать тип соединения при подключении к серверу MySQL. То, как будет устанавливаться соединение с MySQL-сервером, определяется параметром host.

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.