由于测试用服务器出现了回档的情况, 而在本地没有发现有回档情况,于是开始一一排除问题, 第一个就想到Mysql数据库的通过后台查询到玩家下线日志时间, 然后找数据库的操作日志, 就找到了下文, 发现还是挺有用的, 故记录下来
1.准备工作
- 登录Linux服务器
- cd到mysql的data目录
- 转存日志文件
- 下载日志文件
- 分析日志文件
2.细嚼慢咽,品味道
省略登录服务器的指令。
ps aux |grep mysql //查看mysql的进程状态
注意红线标记的地方datadir即:Path to the database root。
cd /alidata/server/mysql/data //cd到mysql data目录
ls(ll)指令查看data目录下文件信息 //cd到data目录后执行该指令
到此为止我们已经完美的查询到了mysql-bin文件,尔后我们对所需要的文件进行转存,代码如下:
//将000017文件转存到/root目录中,且重命名为log.log
mysqlbinlog ./mysql-bin.000017 > /root/log.log
下载log.log到本地盘,这样便于分析日志信息。由于这次使用的是SecureCRT工具所以,直接使用sftp进行文件传输。
sftp> lcd e:\
sftp> get log.log
过滤日志信息,系统是win10,所以打开命令行管理工具。使用findstr来过滤信息。
findstr "20161221120336472" e:\log.log //查询20161221120336472
真是太厉害了,您已经成功的找到了丢失的数据操作信息。