MySql常见报错总结

一:在struts的项目中向mysql数据库表中插入记录时浏览器报以下错误:

javax.servlet.ServletException: java.lang.RuntimeException: Data truncated for column 'uid' at row 1

root cause

java.lang.RuntimeException: Data truncated for column 'uid' at row 1
 
控制台报的错误如下:

java.sql.SQLException: Data truncated for column 'uid' at row 1
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)

这个错误的大概意思是说插入数据时“uid”列的数据被截断,就是插入失败,然后我把插入到“uid”列的数据打出来一看居然是String类型的,而表中定义的是int类型,所以插入不进去。

那么判断一个数据对象是什么类型可以这样做,例如:

String name = "abc-123-def-456";

System.out.println(name .getClass());

控制台输出如下:

class java.lang.String

所以把数据表的列类型更改成varchar就可以了。


二:struts的项目中向mysql数据库表中插入记录时浏览器报以下错误:

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check...

sql写的有问题,注意修改。比如少个空格,少个 'xxx'  ......


三:struts的项目中向mysql数据库表中插入记录时浏览器报以下错误:

MySql不能插入中文字段的错误

解决办法如下:

https://mp.csdn.net/postedit/80003305

### MySQL 安装过程中的常见报错及其解决方案 #### 1. **The service already exists!** 当执行 `mysqld --install` 命令时,如果出现“The service already exists!”的错误提示,则表示当前系统中已经存在名为“MySQL”的服务[^1]。 解决方法: - 使用以下命令卸载已存在的服务: ```bash sc delete MySQL ``` - 卸载完成后重新尝试安装服务: ```bash mysqld --install ``` --- #### 2. **Linux 中 `/etc/my.cnf` 配置错误导致启动失败** 在 Linux 系统中,如果 `/etc/my.cnf` 文件配置不正确,在执行 `systemctl start mysqld` 启动 MySQL 服务时会返回 failed 错误[^2]。即使修正了该文件并保存退出,可能仍然无法正常启动。 原因分析: - 修改后的配置未被加载到内存中。 - 存在残留的服务状态或缓存数据。 解决方法: - 清除旧的服务状态: ```bash systemctl reset-failed mysqld.service ``` - 删除临时目录下的日志和锁文件(如果有): ```bash rm -rf /var/lib/mysql/*.pid rm -rf /var/run/mysqld/* ``` - 尝试重启服务: ```bash systemctl daemon-reload && systemctl restart mysqld ``` --- #### 3. **MySQL 报错 2003** MySQL 报错 2003 的主要原因有两种可能性[^3]: ##### (a) **MySQL 服务未启动** 确认 MySQL 是否正在运行: ```bash netstat -tuln | grep 3306 ``` 如果没有监听端口 3306,则说明服务尚未启动。可以手动启动服务: ```bash sudo service mysql start ``` ##### (b) **端口号设置错误** 默认情况下,MySQL 使用的是 3306 端口。如果更改过端口号或者防火墙阻止访问,请检查以下内容: - 查看 MySQL 配置文件 (`my.cnf`) 中指定的端口号是否正确: ```ini [mysqld] port=3306 ``` - 如果使用自定义端口,请确保客户端连接时指定了对应的端口号。 --- #### 4. **MySQL 安装报错 2502 和 2503** 此类错误通常发生在 Windows 平台上的家庭版操作系统中,主要原因是权限不足[^4]。以下是几种可行的解决方案: ##### 方法一:通过管理员权限命令行安装 打开具有管理员权限的 CMD 或 PowerShell 终端,执行以下命令完成安装: ```cmd msiexec /package "D:\soft_backup\project\数据库\mysql-5.5.62-winx64.msi" ``` 注意替换路径为实际 MSI 文件的位置。 ##### 方法二:利用任务管理器以管理员身份运行安装程序 按下 Ctrl+Alt+Delete 打开任务管理器 -> 新建任务 -> 输入完整的安装包路径,并勾选“以管理员身份运行”。 ##### 方法三:修改组策略强制提升权限 按 Win+R 调出运行窗口,输入 `gpedit.msc` 进入本地组策略编辑器 -> 用户配置 -> 管理模板 -> Windows 组件 -> Windows Installer -> 设置始终以提升的权限进行安装选项为“已启用”。 --- ### 总结 以上列举了几种常见MySQL 安装及启动过程中可能出现的错误以及相应的处理办法。具体操作需根据实际情况调整参数或环境变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值