MySQL InnoDB_Memcached 无法用负字符打开 table

MySQL InnoDB_Memcached cannot open table with minus char

我在 innodb_memcache.containers 中添加了一个 InnoDB Memcached 映射:

INSERT INTO `containers` (`name`, `db_schema`, `db_table`, `key_columns`, `value_columns`, `flags`, `cas_column`, `expire_time_column`, `unique_idx_name_on_key`) VALUES ('ycn_cloud_battery', 'ycn-cloud', 'battery', 'uuid', 'mah|mah_alive_capacity|mah_charge_capacity|cycle|curr_temperature|average_current|curr_voltage|bms_safety_status|bms_flags|transaction_status|order_id|status|user_id|update_time|create_time|available_status', '0', '0', '0', 'PRIMARY')

然后 InnoDB_Memcached 报告 InnoDB_Memcached: failed to open table 'ycn-cloud/battery'

仔细检查后,问题出在数据库名称 ycn-cloud 包含减号字符。

如何使InnoDB_Memcached打开数据库?

嗯,我的问题已经解决了。

InnoDB_Memcached插件直接操作InnoDB数据文件。数据库 ycn-cloud 在 MySQL 文件系统中被命名为 ycn@002dcloud。于是把innodb_memcache.containers.db_schema中的ycn-cloud改成ycn@002dcloud就解决了。