阿里云Ubuntu18.04部署springboot+MySQL8采坑日记

耗时一天半终于部署上去了;采用的jar包部署。下面涉及很多问题,可以根据自己的需要来选择,先说一下自己踩的主要的坑;第一大问题。版本问题。自己学习java的时候是java12 ,MySQL用的版本是MySQL8,但是自己服务器上面使用的版本是java8以及mysql5.7,建议遇到问题先把自己的版本对照一致;

第一步  安装java8  

因为oracle 公司一些原因,现在Oracle公司的jdk1.8下在的时候得注册以及可能的一些版权问题,果断选择了安装openjdk,拥抱开源;贴一下网址

https://adoptopenjdk.net/ 

官网大概长这个样子

第二步:Ubuntu安装MySQL8 

这个因为Ubuntu用apt-get直接安装会安装到mysql5.7,方便是方便了,但是后面会产生依稀了的版本兼容问题,还是麻烦一次,以后省事吧;

首先下载MySQL配置文件,https://dev.mysql.com/downloads/repo/apt/  网址在此,接下来写几个关键命令,会有一些图形命令什么的剩余部分参考看原博主;文末贴网址原博主链接;

sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb    这个命令因人而异,看看你下载到的包是什么版本的就什么版本的

sudo apt update

sudo apt install mysql-server

  输入Y同意继续安装:  设置root密码    阅读配置MySQ社区服务器,翻到末尾点使用Tab键选中按钮,击Enter键。

按照博主的过程就完了;要是世界总这么简单的就好了。看起来很简单有没有,如果你是第一次安装MySQL8,恭喜你,可能就这么简单(一个删除MySQL5.7没有删除干净  以至于后MySQL5.7保罗的一些配置影响到了MySQL8,希望大家不要遇到;但是也有解决方法,下一部分写Ubuntu卸载mysql5.7)

第三步 Ubuntu卸载MySQL5.7


就看这幅图吧,照着来一遍最后在检查

以上就是我第一次尝试的,但是 没有删除干净。可以避坑。

sudo apt-get autoremove --purge mysql  也忘了具体使用的啥了,但是这个命令用了好几次,一定要记住这个命令(自己但是卸载的时候尝试了好几次uninstall)

dpkg --list|grep mysql  这个命令可以查看依赖项,到最后可以检查自己是否全部删除了MySQL了没,我最后是把文件名字中带MySQL的都给删除掉了;斩草除根;

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P;   这个命令是清楚残留数据的,都说有用,看自己吧,反正我自己是没用,感觉关于这块的网上都是互相抄东西都大同小异,自己看看吧;

第四步 如果遇到没卸载干净配置起冲突了怎么办(无此问题跳过)

,简写吧,大概原理就是删除掉所有文件后,再把系统日志也删除掉  ,用的dpkg命令比较多,好像是/var/lib/dpkg文件夹下,遇到问题自己百度吧。删掉,统统删掉就对了。

第五步,为了能让springboot连接上自己的数据库,改装自己的数据库8.0。

首先关于密码问题,如果你按照本教程那么其中是有一步设置密码的,一定要记住,要么去改my.cof里面的配置挺痛苦的,别问我怎么知道的;需要改动成功的配置如下;

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session    | caching_sha2_password |

| localhost | mysql.sys        | caching_sha2_password |

|   | root            | mysql_native_password |

首先是改root用户可以由任何主机访问  ,然后是改plugin字段里面的密码句子迷方式为mysql_native_password ,语句如下;对了,上面的这个表是在mysql数据库中的user表内,一般自己的用户信息都在此处;更改这个表的信息就是最简单的sql语句,如果你看到这里,估计你也会写,不会写百度一下;

至此改动完毕,以为大功告成;结果密码不对了。莫慌,我已经踩过坑了,别去找什么改密码,此时因为自己更改了密码的加密方式,所以识别不出来是正常的,此时  mysql -u root  不要输入-p就可以直接进入数据库,然后见下更改密码

ALTER USER'root'@'localhost'IDENTIFIED WITH mysql_native_password BY'123456';

这个是MySQL8的特性,mysql8没有password的这个字段,更改密码需要如上语句,这句中的localhost根据自己的配置来填,如果你按照上面的步骤的话,那么此处应该为%

六:接下来如果还不能运行,

则检查自己的服务器,我的是阿里云 ,看看里面的安全组规则的3306 开放了没有,看看自己的jdbc会不会有什么空格呀之类的,密码输入错误呀之类的应该就没问题了;当然,前提是自己的springboot项目已经测试成功的基础上。

此时 ,一些基础知识显得尤为重要   ping命令   telnet命令就显的尤为重要,因为有可能你以为的打开了只是你以为的打开了,  ping命令可以观看自己ip能否通信 ,telnet可以看自己的ip加端口号;测3306端口

七:杂谈

关于Ubuntu的一些基础知识  ,比如如果你是Ubuntu系统,就不要使用 rpm  yum  之类的命令,这写命令你系统是不能识别的,网上的教程很多,可能可自己的环境并不一样;还有就是切身感觉看bug就像看病,你是医生,,不能智慧简单的吧报错扔进百度,报错是表象,医生要透过表象看本质,看看是什么原因导致了这个表象,好累,不写了 ,下面那个网址是Ubuntu安装MySQL8.0的详细版。看来很多教程,就不一一列举了;

https://blog.csdn.net/wm609972715/article/details/83759266?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

你可能感兴趣的:(阿里云Ubuntu18.04部署springboot+MySQL8采坑日记)