繁体   English   中英

Galera 集群上的蜘蛛引擎

[英]Spider Engine on Galera Cluster

我想在 Galera 节点上使用 Spider 插件。 我找不到关于这种用法的任何文档或用例。 对于这种情况,有什么缺点? 如果有人以这种方式分享经验,我会很高兴。

我安装了一些错误的插件:

INSTALL SONAME "ha_spider";
2022-11-24 11:52:01 23 [ERROR] Slave SQL: Error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_one_table`(tab_name char(255) charset utf8 collate utf8_bin,    test_col_name char(255) charset utf8 collate utf8_bin,    _sql text charset utf8 collate utf8_bin)
begin  set @col_exists := 0;  select 1 into @col_exists from INFORMATION_SCHEMA.COLUMNS    where TABLE_SCHEMA = 'mysql'      AND TABLE_NAME = tab_name      AND COLUMN_NAME = test_col_name;  if @col_exists = 0 then    select @stmt := _sql;    prepare sp_stmt1 from @stmt;    execute sp_stmt1;  end if;end', Internal MariaDB error code: 1959
2022-11-24 11:52:01 23 [Warning] WSREP: Ignoring error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_one_table`(tab_name char(255) charset utf8 collate utf8_bin,    test_col_name char(255) charset utf8 collate utf8_bin,    _sql text charset utf8 collate utf8_bin)
begin  set @col_exists := 0;  select 1 into @col_exists from INFORMATION_SCHEMA.COLUMNS    where TABLE_SCHEMA = 'mysql'      AND TABLE_NAME = tab_name      AND COLUMN_NAME = test_col_name;  if @col_exists = 0 then    select @stmt := _sql;    prepare sp_stmt1 from @stmt;    execute sp_stmt1;  end if;end', Error_code: 1959
2022-11-24 11:52:01 35 [ERROR] Slave SQL: Error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_system_tables`()
begin  select substring_index(substring_index(version(), '-', 2), '-', -1)    into @server_name;  if @server_name regexp '^[0-9]+$' then    select substring_index(substring_index(version(), '-', 3), '-', -1)      into @server_name;  end if;  select substring_index(version(), '.', 1)    into @server_major_version;  select substring_index(substring_index(version(), '.', 2), '.', -1)    into @server_minor_version;  call mysql.spider_fix_one_table('spider_tables', 'server',   'alter table mysql.spider_tables    add server char(64) default null,    add scheme char(64) default null,    add host char(64) default null,    add port char(5) default null,    add socket char(64) default null,    add username char(64) default null,    add password char(64) default null,    add tgt_db_name char(64) default null,    add tgt_table_name char(64) default null');  select COLU
2022-11-24 11:52:01 35 [Warning] WSREP: Ignoring error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_system_tables`()
begin  select substring_index(substring_index(version(), '-', 2), '-', -1)    into @server_name;  if @server_name regexp '^[0-9]+$' then    select substring_index(substring_index(version(), '-', 3), '-', -1)      into @server_name;  end if;  select substring_index(version(), '.', 1)    into @server_major_version;  select substring_index(substring_index(version(), '.', 2), '.', -1)    into @server_minor_version;  call mysql.spider_fix_one_table('spider_tables', 'server',   'alter table mysql.spider_tables    add server char(64) default null,    add scheme char(64) default null,    add host char(64) default null,    add port char(5) default null,    add socket char(64) default null,    add username char(64) default null,    add password char(64) default null,    add tgt_db_name char(64) default null,    add tgt_table_name char(64) default null');  select
2022-11-24 11:52:01 29 [ERROR] Slave SQL: Error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_one_table`(tab_name char(255) charset utf8 collate utf8_bin,    test_col_name char(255) charset utf8 collate utf8_bin,    _sql text charset utf8 collate utf8_bin)
begin  set @col_exists := 0;  select 1 into @col_exists from INFORMATION_SCHEMA.COLUMNS    where TABLE_SCHEMA = 'mysql'      AND TABLE_NAME = tab_name      AND COLUMN_NAME = test_col_name;  if @col_exists = 0 then    select @stmt := _sql;    prepare sp_stmt1 from @stmt;    execute sp_stmt1;  end if;end', Internal MariaDB error code: 1959
2022-11-24 11:52:01 29 [Warning] WSREP: Ignoring error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_one_table`(tab_name char(255) charset utf8 collate utf8_bin,    test_col_name char(255) charset utf8 collate utf8_bin,    _sql text charset utf8 collate utf8_bin)
begin  set @col_exists := 0;  select 1 into @col_exists from INFORMATION_SCHEMA.COLUMNS    where TABLE_SCHEMA = 'mysql'      AND TABLE_NAME = tab_name      AND COLUMN_NAME = test_col_name;  if @col_exists = 0 then    select @stmt := _sql;    prepare sp_stmt1 from @stmt;    execute sp_stmt1;  end if;end', Error_code: 1959
2022-11-24 11:52:01 8 [ERROR] Slave SQL: Error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_system_tables`()
begin  select substring_index(substring_index(version(), '-', 2), '-', -1)    into @server_name;  if @server_name regexp '^[0-9]+$' then    select substring_index(substring_index(version(), '-', 3), '-', -1)      into @server_name;  end if;  select substring_index(version(), '.', 1)    into @server_major_version;  select substring_index(substring_index(version(), '.', 2), '.', -1)    into @server_minor_version;  call mysql.spider_fix_one_table('spider_tables', 'server',   'alter table mysql.spider_tables    add server char(64) default null,    add scheme char(64) default null,    add host char(64) default null,    add port char(5) default null,    add socket char(64) default null,    add username char(64) default null,    add password char(64) default null,    add tgt_db_name char(64) default null,    add tgt_table_name char(64) default null');  select COLU
2022-11-24 11:52:01 8 [Warning] WSREP: Ignoring error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_fix_system_tables`()
begin  select substring_index(substring_index(version(), '-', 2), '-', -1)    into @server_name;  if @server_name regexp '^[0-9]+$' then    select substring_index(substring_index(version(), '-', 3), '-', -1)      into @server_name;  end if;  select substring_index(version(), '.', 1)    into @server_major_version;  select substring_index(substring_index(version(), '.', 2), '.', -1)    into @server_minor_version;  call mysql.spider_fix_one_table('spider_tables', 'server',   'alter table mysql.spider_tables    add server char(64) default null,    add scheme char(64) default null,    add host char(64) default null,    add port char(5) default null,    add socket char(64) default null,    add username char(64) default null,    add password char(64) default null,    add tgt_db_name char(64) default null,    add tgt_table_name char(64) default null');  select
[ERROR] PROCEDURE mysql.spider_fix_one_table does not exist
2022-11-24 11:52:01 22 [ERROR] Slave SQL: Error 'PROCEDURE mysql.spider_fix_one_table does not exist' on query. Default database: ''. Query: 'drop procedure mysql.spider_fix_one_table', Internal MariaDB error code: 1305
2022-11-24 11:52:01 22 [Warning] WSREP: Ignoring error 'PROCEDURE mysql.spider_fix_one_table does not exist' on query. Default database: ''. Query: 'drop procedure mysql.spider_fix_one_table', Error_code: 1305
2022-11-24 11:52:01 42 [ERROR] Slave SQL: Error 'PROCEDURE mysql.spider_fix_system_tables does not exist' on query. Default database: ''. Query: 'drop procedure mysql.spider_fix_system_tables', Internal MariaDB error code: 1305
2022-11-24 11:52:01 42 [Warning] WSREP: Ignoring error 'PROCEDURE mysql.spider_fix_system_tables does not exist' on query. Default database: ''. Query: 'drop procedure mysql.spider_fix_system_tables', Error_code: 1305
2022-11-24 11:52:01 24 [ERROR] Slave SQL: Error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_plugin_installer`()
begin  set @win_plugin := IF(@@version_compile_os like 'Win%', 1, 0);  set @have_spider_i_s_alloc_mem_plugin := 0;  select @have_spider_i_s_alloc_mem_plugin := 1    from INFORMATION_SCHEMA.plugins    where PLUGIN_NAME = 'SPIDER_ALLOC_MEM';  set @have_spider_alloc_mem_plugin := 0;  select @have_spider_alloc_mem_plugin := 1 from mysql.plugin    where name = 'spider_alloc_mem';  if @have_spider_i_s_alloc_mem_plugin = 0 then    if @have_spider_alloc_mem_plugin = 1 then      /*        spider_alloc_mem plugin is present in mysql.plugin but not in        information_schema.plugins. Remove spider_alloc_mem plugin entry        in mysql.plugin first.      */      delete from mysql.plugin where name = 'spider_alloc_mem';    end if;    if @win_plugin = 0 then       install plugin spider_alloc_mem soname 'ha_spider.so';    else      install plugin spider_alloc_mem soname
2022-11-24 11:52:01 24 [Warning] WSREP: Ignoring error 'Invalid role specification ``' on query. Default database: ''. Query: 'CREATE DEFINER=`` PROCEDURE `mysql`.`spider_plugin_installer`()
begin  set @win_plugin := IF(@@version_compile_os like 'Win%', 1, 0);  set @have_spider_i_s_alloc_mem_plugin := 0;  select @have_spider_i_s_alloc_mem_plugin := 1    from INFORMATION_SCHEMA.plugins    where PLUGIN_NAME = 'SPIDER_ALLOC_MEM';  set @have_spider_alloc_mem_plugin := 0;  select @have_spider_alloc_mem_plugin := 1 from mysql.plugin    where name = 'spider_alloc_mem';  if @have_spider_i_s_alloc_mem_plugin = 0 then    if @have_spider_alloc_mem_plugin = 1 then      /*        spider_alloc_mem plugin is present in mysql.plugin but not in        information_schema.plugins. Remove spider_alloc_mem plugin entry        in mysql.plugin first.      */      delete from mysql.plugin where name = 'spider_alloc_mem';    end if;    if @win_plugin = 0 then       install plugin spider_alloc_mem soname 'ha_spider.so';    else      install plugin spider_alloc_mem s
2022-11-24 11:52:01 30 [ERROR] Slave SQL: Error 'PROCEDURE mysql.spider_plugin_installer does not exist' on query. Default database: ''. Query: 'drop procedure mysql.spider_plugin_installer', Internal MariaDB error code: 1305
2022-11-24 11:52:01 30 [Warning] WSREP: Ignoring error 'PROCEDURE mysql.spider_plugin_installer does not exist' on query. Default database: ''. Query: 'drop procedure mysql.spider_plugin_installer', Error_code: 1305
MariaDB [(none)]> SELECT ENGINE, SUPPORT FROM information_schema.ENGINES;
+--------------------+---------+
| ENGINE             | SUPPORT |
+--------------------+---------+
| SPIDER             | YES     |
| MRG_MyISAM         | YES     |
| MEMORY             | YES     |
| Aria               | YES     |
| MyISAM             | YES     |
| SEQUENCE           | YES     |
| InnoDB             | DEFAULT |
| PERFORMANCE_SCHEMA | YES     |
| CSV                | YES     |
+--------------------+---------+
MariaDB [mysql]> show tables;
+------------------------------------+
| Tables_in_mysql                    |
+------------------------------------+
| column_stats                       |
| columns_priv                       |
| db                                 |
| event                              |
| func                               |
| general_log                        |
| global_priv                        |
| gtid_slave_pos                     |
| help_category                      |
| help_keyword                       |
| help_relation                      |
| help_topic                         |
| index_stats                        |
| innodb_index_stats                 |
| innodb_table_stats                 |
| plugin                             |
| proc                               |
| procs_priv                         |
| proxies_priv                       |
| roles_mapping                      |
| servers                            |
| slow_log                           |
| spider_link_failed_log             |
| spider_link_mon_servers            |
| spider_table_crd                   |
| spider_table_position_for_recovery |
| spider_table_sts                   |
| spider_tables                      |
| spider_xa                          |
| spider_xa_failed_log               |
| spider_xa_member                   |
| table_stats                        |
| tables_priv                        |
| time_zone                          |
| time_zone_leap_second              |
| time_zone_name                     |
| time_zone_transition               |
| time_zone_transition_type          |
| transaction_registry               |
| user                               |
| wsrep_cluster                      |
| wsrep_cluster_members              |
| wsrep_streaming_log                |
+------------------------------------+

之后,蜘蛛引擎和表格目前按预期工作。 但让我担心的是没有一个这样的用例。

Galera 集群目前只支持 InnoDB。 这个事实记录在https://mariadb.com/kb/en/mariadb-galera-cluster-known-limitations/上。 Spider 表上的 DDL 可能(或可能不)有效,但目前不推荐。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM