ОШИБКА 1286 (42000): неизвестный механизм хранения 'Columnstore' - PullRequest
0 голосов
/ 04 июля 2018

Я установил MariaDB 10.2.15 с Columnstore 1.1.5 на CentOS 7.5, а затем создал несколько таблиц InnoDB и Columnstore. Пока все хорошо.

Мне нужно было, чтобы пользователь root и еще один пользователь могли выполнять межсистемные запросы, поскольку мне нужно было вставлять и выбирать из некоторых таблиц InnoDB в некоторые таблицы Columnstore. Поэтому я добавил следующий раздел в /usr/local/mariadb/columnstore/etc/Columnstore.xml

<CrossEngineSupport>
        <Host>127.0.0.1</Host>
        <Port>3306</Port>
        <User>root</User>
        <Password/>
</CrossEngineSupport>
<CrossEngineSupport>
        <Host>127.0.0.1</Host>
        <Port>3306</Port>
        <User>someuser</User>
        <Password>somepassword</Password>
</CrossEngineSupport>

Странно, с этого момента я не смог соединиться с mcsmysql как root без предоставления пароля. Нет, проблема, которую я сказал, давайте установим пароль root. Я остановил Columnstore:

mcsadmin shutdownsystem

и затем побежал

/usr/local/mariadb/columnstore/mysql/bin/mysqld_safe --skip-grant-tables &

Я подключился как root без пароля, а затем выполнил следующие запросы:

use mysql;
update user set password=PASSWORD("some-new-password") where User='root';
flush privileges;
exit;

Я перезапустил columnstore

mcsadmin restartsystem

Конечно, я обновил Columnstore.xml новым паролем root. Теперь я могу снова соединиться с root и новым паролем, но проблема в том, что движок Columnstore больше не доступен. Когда я запускаю show create table sometable, где sometable - это таблица Columnstore, которая раньше работала просто отлично, я получаю следующую ошибку:

ERROR 1286 (42000): Unknown storage engine 'Columnstore'

И когда я запускаю show engines, действительно, Columnstore отсутствует в этом списке. По сути, я не могу использовать таблицы Columnstore ни для чего.

Есть идеи о том, что могло вызвать это, и как я могу включить движок Columnstore?

1 Ответ

0 голосов
/ 18 июля 2018

Могу поспорить, это должно быть --datadir установлен mysqld_safe, так как здесь вывод ps, который показывает и mysqld_safe, и mysqld: / bin / sh / usr / local / mariadb / columnstore / mysql // bin / mysqld_safe --datadir = / usr / local / mariadb / columnstore / mysql / db --pid-file = / usr / local / mariadb / columnstore / mysql / db / 62f59fb5c00b.pid --ledir = / usr / local / mariadb / columnstore / mysql // bin

/ usr / local / mariadb / columnstore / mysql // bin / mysqld --basedir = / usr / local / mariadb / columnstore / mysql / --datadir = / usr / local / mariadb / columnstore / mysql / db - -plugin-dir = / usr / local / mariadb / columnstore / mysql / lib / plugin --user = mysql --log-error = / usr / local / mariadb / columnstore / mysql / db / 62f59fb5c00b.err --pid- file = / usr / local / mariadb / columnstore / mysql / db / 62f59fb5c00b.pid --socket = / usr / local / mariadb / columnstore / mysql / lib / mysql / mysql.sock --port = 3306

...