阿里云服务器部署SpringBoot项目(mysql安装、服务部署)

最近在阿里云购买了一台轻量级云服务器,开始了自主服务之旅,下面记录步骤以及采坑过程。

首先拿到服务器的第一步我进入了控制台-远程连接中设置了连接密码,然后通过securt客户端工具连接。

1.jdk1.8安装

自行下载jdk1.8然后cd到/usr/local目录下创建java目录,将jdk解压(解压命令tar -xvf 文件);最后进入/etc/profile中设置环境变量

#set java environment
JAVA_HOME=/usr/local/java/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

最后记得执行source /ect/profile命令使其生效

2.安装mysql

centos7默认自带mariadb。当然我们不用这个玩意,所以我们去mysql官网下载mysql5.6.45 (选择redhat操作系统版本),下载到/usr/local下新建目录mysql,将mysql tar包解压入其中(解压命令tar -xvf 文件);

(1)我们首先卸载mariadb:

执行命令(查询已安装的mariadb)

 rpm -qa|grep mariadb 

 

然后执行命令  (进行卸载 )

rpm -e --nodeps 文件名

 

(2)安装mysql

解压mysql tar包后里面有好几个文件(server、client、devel等)

首先执行命令安装mysql-server:

rpm  -ivh  MySQL-server-5.6.45-l.el7.x86_64.rpm

如果出现错误:

error:Failed dependencies:libaio.so.l()(64bit) is need by MySQL-server-5.6.45-l.el7.x86_64.rpm

不要着急这是缺少依赖。执行 yum install libaio 命令安装依赖即可。

另外还有可能遇到的坑:

警告:Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY

错误:依赖检测失败:

        perl(Data::Dumper) 被 Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64 需要

咋一看又是缺少依赖,执行 yum install perl 安装依赖,继续安装mysql,然后依然抛出上述错误,这时就一脸懵逼了,明明已经安装了呀;一顿搜索,发现需要安装的其实是 autoconf 这个依赖,然后执行 yum -y install autoconf 即可(真是有点坑爹)。

然后依次执行如下命令安装mysql-client 和mysql-devel

rpm -ivh MySQL-client-5.6.37-1.el7.x86_64.rpm

rpm -ivh MySQL-devel-5.6.37-1.el7.x86_64.rpm

(3)启动mysql

最后如果顺利的话就可以执行命令启动mysql了

service mysql start

(4)登陆mysql

执行命令:mysql -uroot -p 

一般来说首次安装mysql是没有密码的,所以直接回车即可(如果登不进去,提示一定需要 密码也别着急看我下面的操作);

注:我在此处遇到了一个坑,怎么都登不进去,提示要输入密码,回车也不行,所以我做了一个操作 跳过密码登陆

执行命令:

mysqld_safe --user=root --skip-grant-tables --skip-networking & (绕过密码登录,mysql未启动前设置)

然后正常执行如下命令,修改密码; 
 

service mysql start //启动mysql

  mysql -u root -p //登录

  use mysql //切换数据库

  UPDATE user SET password=password("123456") WHERE user='root'; //修改密码

  quit //退出

(5)赋予任何主机访问数据库的权限(远程访问)

 

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

 flush privileges;//刷新权限

 quit //退出

mysql service mysql restart //重启mysql

(6)设置防火墙开放3306端口(不然无法远程访问,通过工具连接)

查看firewall状态(runing:运行,not runing:没有运行),如果没有运行,用systemctl start firewalld启动

 firewall-cmd --state

 firewall-cmd --permanent --zone=public --add-port=3306/tcp //添加3306端口

 firewall-cmd --reload //重新加载firewall

执行完上述操作后千万不要以为就完了,这个时候你们通过客户端工具navcat去连接可能会报错

10038错误,显示2003 can't connect to MySQL server on 'localhost'(10038).

阿里云服务器部署SpringBoot项目(mysql安装、服务部署)_第1张图片

别急一般来说这个错误一般就是如下几个原因:

1.限制了远程登陆,即没有授权(我们在上一步已经操作了赋予任何主机访问数据库的权限)

2.查看3306端口是否开放(我们也操作了设置防火墙开放3306端口)

3.在阿里云控制台的防火墙规则里添加端口

阿里云服务器部署SpringBoot项目(mysql安装、服务部署)_第2张图片

很明显我们缺少的就是这一步,没有添加防火墙规则。

最后再用工具连接就OK了。

3.部署springboot服务

进入/home目录创建任意文件夹用来存放项目jar (mkdir  project )

上传项目到project文件夹中,nohup java -Xms512m -Xmx512m -jar xx-0.0.1-SNAPSHOT.jar > xx.log 2>&1 &

然后通过ip或者映射的域名访问即可:192.168.0.2:8080

是不是发现访问不了,哈哈哈,其实还没完,登陆服务器控制台继续添加端口规则,将你设置的端口(我这里是8080端口)添加到规则中后就可以了。

 

你可能感兴趣的:(linux)