首先下载GeoServer的MySQL Plugin,在GeoServer的官方网站上就有。其实所谓的MySQLPlugin就是GeoTools的MySQL模块,所有如果你有GeoTools的话,直接把gt2-mysql拷贝到GeoTools的WEB-INF/lib目录即可。除此以外,高版本的MySQLJDBC Connector也是必须的,版本可以参考GeoTools附带的:3.0.10。做好这些之后即可启动GeoServer。
进入配置-数据-名称空间一项,新建名称空间,前缀即数据库的名字(Database),URI暂时按照规范填写。GeoServer对这里填如的URI有限制,必须以http开头,但是这对MySQL后面的连接是错误的,所以这里填写的只是暂时的内容,后面需要手动更改。
进入配置-数据-数据源一项,新建数据源,选择MySQL数据源。填写必要信息,其中名称空间需要选择和刚才新建的(即和数据库名称相同的)。

之后就可以在现有数据源的基础上新建FeatureType了,具体方法可以Google“GeoServer安装和使用”或者在我之前的文章里找到。
新建完FeatureType后GeoServer会报如下错误:
org.geotools.data.DataSourceException:
SQL Error building FeatureType for cities Syntax error or access violation, message from server:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '://localhost:3306/geodatabase.cities WHERE 0=1' at line 1"
打开GeoServer的数据文件目录,编辑catalog.xml。找到
<namespace prefix = "geodatabase" uri = "http://localhost:3306/geodatabase" />
<namespace prefix = "geodatabase" uri = "geodatabase" />
重启GeoServer,可能出现如下报错,造成GeoServer无法启动:
[Fatal Error] :1:1: Content is not allowed in prolog.

开源GIS里绝不是仅仅有PostgreSQL/PostGIS,很多功能MySQL就足可以完成。

