我在CentOS 7.5上安装了带有Columnstore 1.1.5的MariaDB 10.2.15,然后创建了一些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>
奇怪的是,从那时起,我无法以root用户身份与mcsmysql
连接,而不再提供密码。不,我说的问题是,让我们设置一些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;
我重新启动了列存储
mcsadmin restartsystem
当然,我用新的root密码更新了Columnstore.xml。
现在,我可以使用root和新密码再次连接,但问题是Columnstore引擎不再可用。
当我运行show create table sometable
时,其中sometable
是用来正常工作的Columnstore表,我得到以下错误:
ERROR 1286 (42000): Unknown storage engine 'Columnstore'
实际上,当我运行show engines
时,该列表中缺少Columnstore。基本上,我什么都不能使用Columnstore表。
任何可能导致这种情况的想法以及如何启用Columnstore引擎?
答案 0 :(得分:0)
我敢打赌它必须是mysqld_safe设置的--datadir,因为这是同时显示mysqld_safe和mysqld的ps输出: / 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-文件= / usr / local / mariadb / columnstore / mysql / db / 62f59fb5c00b.pid --socket = / usr / local / mariadb / columnstore / mysql / lib / mysql / mysql.sock --port = 3306