Error number: MY-010163; Symbol: ER_LOG_BIN_BETTER_WITH_NAME; SQLSTATE: HY000
Message: No argument was provided to –log-bin, and –log-bin-index was not used; so replication may break when this MySQL server acts as a source and has his hostname changed!! Please use ‘–log-bin=%s’ to avoid this problem.
错误说明
MY-010163是一个MySQL错误,按照SQLSTATE可以了解它代表的是一种“编码错误”类型(HY000),具体的MY-010163错误信息指出,异常情况下日志的bin文件不应该仅仅使用FILENAME而缺少它的LOG NAME。
常见案例
当MySQL运行语句CREATE LOG BIN
FILENAME=’some_file.log’
时,可能会出现MY-010163错误,这是因为它没有LOG NAME,也就是说,文件名和唯一别名没有一起声明。
解决方法
为了解决这个问题,可以使用ADD LOGFILE语句来显式创建log bin:
• ADD LOGFILE [ GROUP group_name ]
[ UNTIL_TIME = {string | numeric_expr} ]
[ UNTIL_DEPTH = numeric_expr ]
[ ADD UNTIL_DEPTH = numeric_expr ]
[ FILENAME = ‘file_name’ ]
[ LOG_NAME = ‘name’ ];
其中LOG_NAME字段用来指定log bin的唯一名称,FILENAME则是指定log bin的物理文件,之后就可以创建log bin了,而且这时的log bin已经具有了指定的文件和唯一名称。
同时,也可以使用CREATE LOG BIN语句来代替ADD LOGFILE 。只需要把上文中的ADD变成CREATE,接着指定LOG NAME和FILENAME就可以创建log bin了。