VMWare虚拟机搭建mysql+springboot项目

前言
        标题显而易见,要做成什么样子?大概是,可以在主机上访问虚拟机上的springboot项目,虽然目的就几个字,但是~~~~唔唔唔 ~~~~花费LZ太多时间啦,今天终于搞出来了(再搞不出来我就要哭了~ 叹 !~),出现的问题有很多,解决的问题的方法也很多,不过就是因为方法太多(这里说的方法多貌似像极了中奖,打个比方,万分之一的几率才能找到正确的方法,其余的·······),一个一个试出来才有意思。
        我的问题主要是虚拟机连不上网,为了解决这个问题,上网查了N多资料,最后才发现自己虚拟机的网关ip和主机网关ip对应不上(啊啊啊烦!!!!)。其他的各种乱七八糟的问题几乎都很容易在网上找到答案,比如我遇到的,VMWare安装虚拟机以及虚拟网络配置和虚拟机网络适配器设置,到底选择桥接还是nat还是onlyhost,选择VMnet0还是VMnet1或者VMnet8;再者,如何对mysql,jdk下载,是在windows下载好tar.xz上传到 亦或是用户和用户组,权限等各种乱七八糟的问题。我打算从创建虚拟机开始写(万一以后忘了咋整!)

【前提】

        小编linux不是很好,对分区和IP网络设置不是很明白~~,不过好像也不影响

【步骤】

        1、安装虚拟机
        2、配置以及网络
        3、配置yum源(方便下载)
        4、安装jdk
        5、安装mysql
        因为是springboot项目,没有安装tomcat

安装虚拟机

        利用VMWare安装虚拟机,准备镜像,如果你没有ios镜像,可以访问下面网址下载:
        - CentOS官方网站:http://mirror.centos.org/centos/7/isos/
        - 中科大镜像站:http://centos.ustc.edu.cn/centos/7/isos/
        - 清华大学镜像站:https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/
        基本都是直接下一步的
在这里插入图片描述
        点击创建虚拟机,选择自定义方式创建。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
        创建完成以后,点击编辑虚拟机设置。为咱们的虚拟机添加镜像去。
在这里插入图片描述
        开启虚拟机,直接安装选择安装在这里插入图片描述
在这里插入图片描述
        等待灰色都显示正常之后,调整日期时间,键盘,网络等
在这里插入图片描述
        我们可以看到软件选择这一栏,竟然是最小安装,安装过一次这样的,安装完只有命令模式,没有UI页面,所以我们选择一个UI软件,我选的是GUI
在这里插入图片描述
在这里插入图片描述
        然后等待检测,之进行网络配置。配置之前,IP、子网掩码、网关、DNS不是随随便便配的emmm,先检查一下主机IP,win+r 输入cmd 打开之后输入ipconfig查看主机ip,我们取IPv4前三个数字,如果你的ip是192.168.5.150那么你的虚拟机ip前三个就是192.168.5最后一个一般随便给,网关和子网掩码都是一样的。
在这里插入图片描述

在这里插入图片描述
        开始完成后添加root账号,等待许久~~~终于可以开机了。整开机之后,先ping一下是否能连通主机,是否能ping通百度,下面的情况是可以上网的,接下来再去下载jdk。
在这里插入图片描述

//利用yum查找可用的jdk
[root@localhost mrq]# yum search java | grep jdk
/**···前面省略···**/
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk.i686 : OpenJDK 8 Runtime Environment
java-1.8.0-openjdk-accessibility.i686 : OpenJDK accessibility connector
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.8.0-openjdk-demo.i686 : OpenJDK Demos 8
java-1.8.0-openjdk-demo.x86_64 : OpenJDK 8 Demos
java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment 8
java-1.8.0-openjdk-devel.x86_64 : OpenJDK 8 Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-headless.i686 : OpenJDK 8 Headless Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed
java-1.8.0-openjdk-src.i686 : OpenJDK Source Bundle 8
java-1.8.0-openjdk-src.x86_64 : OpenJDK 8 Source Bundle
java-11-openjdk.i686 : OpenJDK Runtime Environment 11
/**···后面省略···**/
//找到这么一堆东西,我们需要的是 java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
//下载jdk
[root@localhost mrq]# yum -y install java-1.8.0-openjdk.x86_64
//查看jdk版本
[root@localhost mrq]# java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
[root@localhost mrq]# 

        接下来安装mysql,【查看网上的例子】

[root@localhost mysql]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
--2021-03-27 22:11:52--  http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
正在解析主机 repo.mysql.com (repo.mysql.com)... 96.17.188.242
正在连接 repo.mysql.com (repo.mysql.com)|96.17.188.242|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9116 (8.9K) [application/x-redhat-package-manager]
正在保存至: “mysql57-community-release-el7-8.noarch.rpm”

100%[======================================>] 9,116       --.-K/s 用时 0s      

2021-03-27 22:11:58 (276 MB/s) - 已保存 “mysql57-community-release-el7-8.noarch.rpm” [9116/9116])
[root@localhost mysql]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm 
警告:mysql57-community-release-el7-8.noarch.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql57-community-release-el7-8  ################################# [100%]
[root@localhost mysql]# yum install mysql-server
/**中间输出内容省略**/
/**需要漫长的等待**/
已安装:
  mysql-community-libs.x86_64 0:5.7.33-1.el7                                    
  mysql-community-libs-compat.x86_64 0:5.7.33-1.el7                             
  mysql-community-server.x86_64 0:5.7.33-1.el7 
/**说明已经安装好了**/
/**启动mysql服务,不出意外应该可以**/
[root@localhost mysql]# systemctl start mysqld
/**我们查一下看看服务有没有起来**/
[root@localhost mysql]# ps -ef | grep mysqld
/**查看mysql root初始密码**/
[root@localhost mysql]# grep 'password' /var/log/mysqld.log
2021-03-27T14:21:04.961102Z 1 [Note] A temporary password is generated for root@localhost: e-62bMHd>WN.
/**不出意外root@localhost:后面就是密码,记住,带最后的一个. 不管:后面是啥,都给我复制全喽**/
/**进入mysql**/
[root@localhost mysql]# mysql -u root -p
Enter password:/**直接粘贴就好**/
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.33

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
/**进入mysql的欢迎页啦~~~ 开心不哈哈  **/
/**接下来就需要对mysql进行特殊设置了,有这么几点需要注意**/
/**
1、root密码太复杂,练习的时候不需要设置这么复杂,所以要设置密码
2、mysql为了数据库安全,密码会有过期这样的设置,我们可以再设置成不过期的密码
3、一般情况下,我们不会直接在linux上对数据库进行操作,我们会用一些sql工具来代替命令,
	但是linux系统一开始不会让外界进入,所以我们要让其他IP可以连接到此数据库,
	这一步仅仅是解决了sql工具
4、别忘了,如果防火墙没有开放数据库端口3306记得开放一下,还有你的springboot端口
**/
/**设置密码无符号限制**/
mysql> set global validate_password_policy=0;
/**设置密码无长度限制**/
mysql> set global validate_password_length=1;
/**设置密码**/
mysql> SET PASSWORD = PASSWORD('root');
/**设置密码不过期**/
mysql> ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
/**所有IP都可访问**/
mysql> grant all privileges on *.* to root@"%" identified by “root”;
/**刷新权限**/
mysql> flush privileges;
/**退出**/
mysql> exit
/**防火墙开放端口3306mysql端口 8088我自己的springboot端口**/
[root@localhost mysql]# firewall-cmd --zone=public --add-port=3306/tcp --add-port=8088/tcp --permanent
success
/**重启防火墙,可以被主机的sql工具访问到啦**/
[root@localhost mysql]# firewall-cmd --reload

        你以为到这里就结束了?还差最后一步,利用winscp将打包好的springboot项目上传到服务器运行,假如你放到了/usr/local/workspace/xxx.jar

[root@localhost workspace]# java -jar test1-0.0.1-SNAPSHOT.jar &
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.4)

2021-03-27 23:28:30.800  INFO 8770 --- [           main] com.tedu.cn.test1.Test1Application       : Starting Test1Application v0.0.1-SNAPSHOT using Java 1.8.0_282 on localhost.localdomain with PID 8770 (/usr/local/workspace/test1-0.0.1-SNAPSHOT.jar started by root in /usr/local/workspace)
2021-03-27 23:28:30.806  INFO 8770 --- [           main] com.tedu.cn.test1.Test1Application       : No active profile set, falling back to default profiles: default
2021-03-27 23:28:32.956  INFO 8770 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
2021-03-27 23:28:32.973  INFO 8770 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 9 ms. Found 0 JDBC repository interfaces.
2021-03-27 23:28:34.301  INFO 8770 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8088 (http)
2021-03-27 23:28:34.322  INFO 8770 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-03-27 23:28:34.323  INFO 8770 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.44]
2021-03-27 23:28:34.468  INFO 8770 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-03-27 23:28:34.469  INFO 8770 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3463 ms
2021-03-27 23:28:35.495  INFO 8770 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-03-27 23:28:36.030  INFO 8770 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-03-27 23:28:37.583  INFO 8770 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-03-27 23:28:38.134  INFO 8770 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8088 (http) with context path ''
2021-03-27 23:28:38.157  INFO 8770 --- [           main] com.tedu.cn.test1.Test1Application       : Started Test1Application in 8.443 seconds (JVM running for 9.382)
2021-03-27 23:29:37.118  INFO 8770 --- [nio-8088-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-03-27 23:29:37.118  INFO 8770 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-03-27 23:29:37.119  INFO 8770 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
获取到的31
Payment{id=31, serial='MrQ'}
jar包如何去打

        关于jar包,我建议在idea上打,因为eclipse真的不容易打,因为没有特殊jar包直接打的话没有jar包里面没有设置启动主类哦~。 下面请看idea打包,打完后的jar包在target的下面哦~
在这里插入图片描述在这里插入图片描述

补充——rpm 离线安装jdk、mysql
jdk离线安装

        下到jdk官网上下载rpm安装包

在这里插入图片描述

查看系统自带的jdk
[root@localhost mysql]#rpm -qa | grep java

如果下方列出有内容,删除关于jdk的包
卸载系统自带的jdk
[root@localhost mysql]#rpm -e --nodeps xxxx

安装jdk
[root@localhost mysql]#rpm -ivh jdk-8u291-linux-x64.rpm

配置环境变量,首先找到安装路径
[root@localhost bin]# which java
/usr/bin/java
[root@localhost bin]# ls -lst /usr/bin/java
0 lrwxrwxrwx. 1 root root 22 621 00:15 /usr/bin/java -> /etc/alternatives/java
[root@localhost bin]# ls -lst /etc/alternatives/java
0 lrwxrwxrwx. 1 root root 71 621 00:15 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre/bin/java

找到java安装路径后到下面这个文件去配置环境变量
[root@localhost bin]# vim /etc/profile

#### 在最后末尾加入三行
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

刷新环境变量配置
[root@localhost bin]# source /etc/profile

查看jdk版本
[root@localhost bin]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

mysql离线安装

        CentOS7 安装 MySQL Community Server 5.7.34 版本,需要下载几个rpm包
在这里插入图片描述

首先还是要查看本系统有没有自带的mysql,
[root@localhost mysql]# rpm -qa | grep mysql
如果有就删掉
[root@localhost mysql]# rpm -e --nodeps xxxxx

一口气下载完,如果发现有libs的依赖被某个依赖替换了,那就把这个依赖删掉,用咱们的libs
[root@localhost mysql]# rpm -ivh mysql-community-client-5.7.34-1.el7.x86_64.rpm mysql-community-common-5.7.34-1.el7.x86_64.rpm  mysql-community-libs-5.7.34-1.el7.x86_64.rpm mysql-community-server-5.7.34-1.el7.x86_64.rpm

删除某依赖的方法
[root@localhost mysql]# rpm -e --nodeps xxxx

查看mysql服务是否启动
[root@localhost mysql]# service mysqld status

启动服务:
[root@localhost mysql]# systemctl start mysqld

查看默认密码
grep 'temporary password' /var/log/mysqld.log

接下来就跟yum安装一样了,网上看👆
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值