平时公司都是有专门的运维搭建,所以自己一直没有亲自搭建过一个完整的项目。这次的小组项目还是自己第一次搭建,经验不足,中间出现了不少的问题。
最开始的时候,考虑要不要在自己的云服务器上去搭建这个项目,想想那边的端口问题还没解决,之前搭建过的jenkins和zengtao(禅道)都无法正常访问,让自己犹豫了一下,要不自己先在本地的虚拟机安装先?于是开始本地的linux系统的安装,同时找了华为云服务器那边的技术人员帮忙查找无法访问的原因。在本地的虚拟机安装linux的时候,也不是太顺利,不知道具体下载哪个版本,安装基础软件的时候,出现了一些莫名的错误,让自己都有些怀疑是不是在本地环境搭建了。幸运的是在自己困惑的时候,在华为云服务器的工程师的帮助下,解决了端口问题,原来是需要在华为云服务器的防火墙那边添加对外访问的端口。一直以为华为云那边开放端口中,有个默认过则的中any是开放了所有的接口,原来只是开放了服务器管理链接的两个端口。
然后接下来的来的是准备在自己的云服务器上搭建项目了,这样公司和家里都可以直接访问,免得搭建在本机还要来回带个虚拟机的U盘。看了下组长给的搭建文档,发现需要创建新用户。开始通过service mysqld start 命令启动了mysql服务,并且用默认的 mysql -u root -p 的命令进行数据库的登录。突然发现自己有很长一段时间没弄过数据库的操作了,有些不记得用户的创建命令了,于是翻了下自己曾经的笔记。看到创建用户的命令是create user ' 用户名 '@' 生效ip ' IDENTIFIED BY ' 密码 '(生效ip如果需要是任何ip的时候,可以填写 %);于是用 create user 'test'@'%' identified by '123456'命令生成了新账户,并且用 grant all privileges on *.* TO 'test'@'%' with grant option 命令给与了这个新账号的权限,并且执行 commit 和 flush privileges 使新用户的权限生效。然后创建了项目的数据库 (create database Guns 命令),使用 use Guns 进入这个数据库,然后将这个项目需要复制的数据库传送到linux系统中,我是存放在 /usr/local/database 文件夹下面,所以通过 source /usr/local/database/guns.sql 将数据库的信息导入到Guns这个库,这个时候用 show tables 查看文件是否导入进去了。看到有新的表说明是OK的。接下来是切换到 guns-2.0.jar 的包的位置,通过java -jar guns-2.0.sql进行启动,第一次运行的时候,提示了链接数据库被拒绝。这个是什么错误的,立即用错误日志百度了一下,说需要给予帐号这个库的权限。当时想了下,新建这个test帐号的时候不是已经赋予了权限的,为什么还说权限的问题的?难道是权限设置未成功?于是继续百度,说需要重置一次密码,于是用 update user set password=password("123456") where user='root' 和 update user set password=password("123456") where user='test' 命令重置了密码,发现还是不行。当时在怀疑是不是执行了赋予权限命令未生效的。于是继续百度,有种方法说直接去数据库修改权限了,于是用 grant all privileges on *.* TO 'root'@'%' identified by '123456' with grant option 给主数据权限,通过navicat链接主数据库,并且查看user表,发现test的帐号权限授予失败,所有权限都是N,于是手动修改了所有的权限为 Y 状态。这个时候启用架包还是提示数据库没权限,让我有些无语了,貌似网上的方法都尝试了没用。返回到小组群,看到他们群里说需要给这个库单独给予权限,于是用 grant all privileges on Guns.* to test@localhost identified by '123456' 尝试了还是不行。弄得我都怀疑是不是自己的数据库服务当时安装的有问题。抽时间重新卸载和重装呢mysql数据库,发现还是未解决,当时的自己都有些想放弃了。第二天的时候,耐心的多次用启动命令启动,查看错误日志是错在那里。无意看到提示连接的数据库的名字是小写的,即guns,当时就想是不是自己数据库的名字的问题(自己的是Guns的库名),当即就把数据库删了,重新新建了guns数据库,导入数据,再次启动架包的时候成功了。后来在群里询问了老徐,才知道原来数据库的名字大小写的识别是有区别的,之前一直不行是这个原因。尝试了这么久,终于搞定了架包的正常启用。
前前后后为了这个项目的搭建,花了3天的时间,还好最后是顺利搭建起来了。有了这一次的经验,以后搭建同样类型的项目会快多了。
网友评论