接到需求,要在MyCAT上新增一个schema,脱敏为samdb吧。
好的,没问题。
1.在server.xml对应用户下追加多一个schema:samdb,在schema.xml中新增schema,datanode;
2.在writehost新建schema,给MyCAT相关用户授权;
3.重启MyCAT。
手起码落,一气呵成。
重启了,试一下是否正常吧。结果一登录,收到报错:
ERROR 2003 (HY000): Can’t connect to MySQL server on '(IP地址)' (111)
MyCAT连不上了呀。会不会是前面两个配置文件手误写错了,导致MyCAT异常了?彻头彻尾检查一遍,没发现语法和语义的错误。
顺手ps -ef|grep mycat一下,尼玛,MyCAT进程都没有啊。这东西重启的时候又没报错,一声不响就旷工了。
奇怪了,改个配置文件就起不来,还让不让人用了?百思不得其解。
哎呀,看一眼后台日志吧。
Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: XX-XXX-XXXX-mycat-1: unknown error
日志显示,无法识别XX-XXX-XXXX-mycat-1
,这是我经过脱敏的一串字符,看着像是数据库名,又去检查一遍配置文件是不是多了这个东西,发现没有。
再仔细一看,这不是主机名吗?解析不了域名?
跟主机名有关的,首先想到的是/etc/hosts,看了一眼,果然,里面没有标注XX-XXX-XXXX-mycat-1
,赶紧补回去,重启MyCAT,成功了。
后来问了才知道,前面进行过服务器的主机名整改,修改过hosts文件。
无语了,赶紧去检查其他MyCAT服务器,果然全部hosts文件都没标注自己的主机名,这不仅仅是挖坑啊,打矿洞呢?!