Невозможно подключить MySQL к Sphinx Search - PullRequest
0 голосов
/ 29 августа 2018

Я использую самую последнюю версию сервера MySQL, я хочу подключить ее к Sphinx Search. Однако, когда я пытаюсь подключиться к серверу через CMD с помощью «SphinxQL», я сталкиваюсь с:

ERROR 200 (HY000): Unknown MySQL error

Это попытка:

searchd -P9306

И получение:

[Wed Aug 29 10:41:28.893 2018] [22560] listening on 127.0.0.1:9312
[Wed Aug 29 10:41:28.893 2018] [22560] listening on all interfaces, port=9306
[Wed Aug 29 10:41:28.959 2018] [22560] WARNING: No extra index definitions found in data folder
[Wed Aug 29 10:41:28.965 2018] [22560] accepting connections
[Wed Aug 29 10:41:28.966 2018] [21976] prereading 2 indexes
[Wed Aug 29 10:41:28.966 2018] [21976] prereaded 2 indexes in 0.000 sec

Однако я могу таким же образом подключиться к порту 3306 и успешно войти в базовый сервер MySQL. Я слышал, что есть разница между тем, как Sphinx и SQL хранят пароли, поэтому я использовал пользователей как с mysql_native_password, так и с более новой версией, но безрезультатно.

Индексатор работает нормально, хотя, когда я специально поворачиваю индексы, я сталкиваюсь с ошибкой, связанной с невозможностью открыть pid_file. Это может быть не связано.

Ниже приведен фрагмент кода:

#
# Minimal Sphinx configuration sample (clean, simple, functional)
#

source src1
{
    type            = mysql

    sql_host        = localhost
    sql_user        = test
    sql_pass        = test123
    sql_db          = test
    sql_port        = 3306  # optional, default is 3306

    sql_query       = SELECT id, name, storage, colour, network, quality, price, UNIX_TIMESTAMP() AS last_modified FROM phones
    # UNIX_TIMESTAMP() AS

    sql_attr_timestamp  = last_modified
}


index test1
{
    source          = src1
    path            = C:/Program Files/sphinx-3.0.3/data/test1
}


index testrt
{
    type            = rt
    rt_mem_limit    = 128M

    path            = C:/Program Files/sphinx-3.0.3/data/testrt

    rt_field        = id
    rt_field        = name
    rt_field        = storage
    rt_field        = colour
    rt_field        = network
    rt_field        = condition
    rt_field        = price
    rt_field        = last_modified
    rt_attr_uint    = gid
}


indexer
{
    mem_limit       = 128M
}


searchd
{
    mysql_version_string = 5.0.37
    listen          = localhost:9312
    listen          = 9306:mysql41
    log         = C:/Program Files/sphinx-3.0.3/log/searchd.log
    query_log       = C:/Program Files/sphinx-3.0.3/log/query.log
    read_timeout        = 5
    max_children        = 30
    pid_file        = C:/Program Files/sphinx-3.0.3/log/searchd.pid
    seamless_rotate     = 1
    preopen_indexes     = 1
    unlink_old      = 1
    workers         = threads # for RT to work
    binlog_path     = C:/Program Files/sphinx-3.0.3/data
}

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Использование более старой версии клиента mySQL для простого подключения работает даже при использовании нового сервера, загружаемого Sphinx. Спасибо за помощь, ребята.

0 голосов
/ 30 августа 2018

Похоже, вы используете клиент mysql 8. Сфинкс пока не совместим с этим. Возможно, вы захотите попробовать Manticore Search (ответвление от Sphinx).

[root@sehs01 mysql-8.0.11-el7-x86_64]# ./bin/mysql --version
./bin/mysql  Ver 8.0.11 for el7 on x86_64 (MySQL Community Server - GPL)

[root@sehs01 mysql-8.0.11-el7-x86_64]# ./bin/mysql -hse01 -P6312
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 2.7.2 58d96fd@180822 dev
...