@ta4

Как исправить ошибку «No database selected» в связке Sphinx и Yii2?

Имеется конфиг sphinx.conf:
source base_source
{
  type = mysql
  sql_host = 127.0.0.1
  sql_user = asdasd
  sql_pass = asd
  sql_db = db_bayboow
  sql_port = 3306 # optional, default is 3306
}

.
.
.
searchd {
  listen                        = 9312
  listen                        = 9306:mysql41
  log = /var/log/sphinxsearch/searchd.log
  query_log = /var/log/sphinxsearch/query.log
  pid_file = /var/log/sphinxsearch/searchd.pid
  read_timeout = 5
  max_children = 30
  max_matches = 1000
  seamless_rotate = 1
  preopen_indexes = 0
  unlink_old = 1
}


Подключен компонент в конфиге Yii2:
'sphinx' => [
            'class' => 'yii\sphinx\Connection',
            'dsn' => 'mysql:host=127.0.0.1;port=9306;',
            'username' => asdasd,
            'password' => asd,
        ],


На сайте есть форма для запросов.
На локалке (Windows) все работает.
На сервере (Debian) приходит ошибка:
Exception (Database Exception) "yii\db\Exception" with message "SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
The SQL being executed was: SELECT `id`, `name`, `link` FROM `products`"


Причем на сервере я могу подключиться к sphinx с помощью:
mysql -h 127.0.0.1 --port=9306 -u asdasd -p asd
  • Вопрос задан
  • 2110 просмотров
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
Так у вас в сфинксе порт один указан а подключаетесь вы к другому
Ответ написан
@Daniil_Panov
В конфиге укажите в параметре dns базу данных, т.е. вместо "mysql:host=127.0.0.1;port=9306" напишите "mysql:host=127.0.0.1;dbname=db_bayboow;port=9306".
Вообще, у меня такая же ошибка была, только там всё было указано так, как надо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы