今天晚上碰到app数据库出错
Got error 28 from storage engine
服务程序出现这样的错误
Sql.Data---Error writing file '/tmp/ML2igkHL' (Errcode: 28)---- 在 MySql.Data.MySqlClient.MySqlStream.ReadPacket()
在 MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId)
在 MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
在 MySql.Data.MySqlClient.MySqlDataReader.NextResult()
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
在 MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
在 Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action`2 paramReader)
在 Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command)
在 ZhengXin.Dal.Dal.ReporthtmlDapper.Insert(Reporthtml reporthtml)
在 ZhengXin.Controller.CreditreportController.Obtain()--ip
查了一下,数据库文件所在的盘应该没事,应该是数据库用的临时目录空间不够
linux下tmp目录下文件满了,但是又不敢乱删。之前删过出现过问题
所以我切换了一个大的磁盘 建立了一个tmp目录,给了 mysql 权限 sudo chown -R mysql.mysql /alidata/tmp
修改 /etc/my.cnf 加上 tmpdir 指向一个空间大的位置
再次启动出现了错误
于是查看了错误日志
原来是权限没给到mysql角色,再给下权限 启动 就OK了,虚惊一场。