将java项目部署到本地虚拟机linux系统中时碰到的一些问题

本文记录了在Oracle VM VirtualBox的Linux环境下部署Java项目时遇到的问题,包括获取IP地址、MySQL连接、数据库编码、密码复杂度等。通过修改配置文件和设置,成功解决了数据库连接和项目启动中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验环境

虚拟机:Oracle VM VirtualBox 5.1.26

系统:linux

服务器:apache-tomcat-8.0.53

jdk:1.8

数据库:mysql 5.7

辅助连接工具:mRemoteNG 1.72

辅助文件传输工具:WinSCP 5.9.3

遇到的问题

1. linux获取系统ip(ifconfig -a)后没有inet一栏

虚拟机选择当前电脑正在使用的网络适配器,有线/无线。

2. windows下该版本mysql默认开机启动

若要修改,可在计算机右键>管理>服务与应用程序>服务>mysql右键属性自动/手动。

3. linux项目连接本地windows中数据库失败

关闭防火墙后,ip选择根据当前电脑所用的联网方式,无线选择无线局域网适配器,有线选择以太网适配器。

4. 项目能正常启动但是无法调用数据库某些数据

可能中文编码问题,试试在jdbc配置文件的url后加上

?useUnicode=true&characterEncoding=utf-8  

linux是对大小写敏感,一直报错 找不到×××表,把mysql在 /etc/my.cnf 文件中添加一行以忽视大小写:

lower_case_table_names = 1 

5. linux 中mysql命令行创建数据库失败

mysql创建库时可能名称含有某些特殊字符(如-号)无法直接添加,试试括上``(tab上边的键位),如:

create database `db-user`;

6. linux下mysql对密码复杂度有要求(含数字,小写字母,大些字母,特殊字符,总长度大于等于8位)

在/etc/my.cnf中的[mysqld]下添加入下代码以关闭密码的复杂度要求:

validate_password=off

7. linux下修改mysql密码失败:

进入数据库的mysql库后修改密码值

5.7以后版本:

update user set authentication_string =password('新密码p') where user = '用户名u';

5.7以前版本

update user set password =password('新密码p') where user = '用户名u';

然后

flush privileges;

8. mysql数据迁移报错

mysql5.7后timetamp类型字段不允许默认0000-00-00 00:00:00,可以在/etc/my.cnf中的[mysqld]下添加入下代码可以解决:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

重启mysql

结尾

有点乱,遇到问题网上找的资料,防止忘记就记下了,忘记记录引文了,谢谢前辈先驱们的慷慨奉献,若涉嫌抄袭请告知。

部分引用

https://blog.youkuaiyun.com/qq_38727626/article/details/82597700

https://blog.youkuaiyun.com/u011897110/article/details/83343048

https://www.jb51.net/article/115341.htm

https://blog.youkuaiyun.com/guoxiaoweitaiyuan/article/details/89442822

https://www.youkuaiyun.com/gather_2f/MtTaIgxsMDY3My1ibG9n.html

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值