Error number: MY-010871; Symbol: ER_INNODB_ILLEGAL_COLON_IN_POOL; SQLSTATE: HY000
Message: InnoDB: innodb_buffer_pool_filename cannot have colon (:) in the file name.
MY-010871; ER_INNODB_ILLEGAL_COLON_IN_POOL; 错误代码HY000指示MySQL服务器在池设置中遇到了非法冒号.
错误说明
该错误是在MySQL InnoDB存储引擎使用中遇到的。MySQL InnoDB存储引擎是MySQL数据库里使用的一种存储引擎,而当使用者尝试将InnoDB存储引擎的池设置(pool)调整为其他值时,就会收到该错误消息,比如:
SET GLOBAL innodb_buffer_pool_size = ‘256M:128M;
上面的语句是将InnoDB存储引擎的池设置(pool)大小调整为256M,而该指令中的冒号被MySQL所识别,故而抛出了错误消息:
ERROR 1298 (HY000): Incorrect diner: ‘256M:128M’ for innodb_buffer_pool_size;
常见案例
当使用MySQL InnoDB存储引擎,并试图调整InnoDB存储引擎的池设置(pool)时,都有可能出现此错误。如:
SET GLOBAL innodb_buffer_pool_size = ‘256M:128M;
解决方法
1. 网上现有的资料提到,解决这个错误的最简单的办法就是使用这些参数:
innodb_buffer_pool_size
innodb_log_file_size
innodb_log_buffer_size
这三个参数所提供的值不能使用冒号。
2. 所以,要解决这样的错误,就需要保证只输入普通数字而不带有其他字符,将这些参数值拆分成多行输入-比如上面的例子:
SET GLOBAL innodb_buffer_pool_size = ‘256M’;
SET GLOBAL innodb_log_file_size = ‘128M’;
这样就可以避免出现这个错误。