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
就解决了。
我在 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
就解决了。