工具:
navicate for mysql:连接远程mysql数据库。
SecureCRSecureFXPortable:从服务器中取下日志文件。
脚本如下:
登陆数据:
LOAD DATA LOCAL INFILE 'F:/door/201/login/loginAllLog.log.2014-01-05' INTO TABLE tmp_t_login CHARACTER
SET utf8 FIELDS TERMINATED BY '|' (
login_time,
user_id,
account_name,
account_type,
ip_address,
area_no2,
area_code2,
city2,
terminal_type,
os,
app_key,
login_src,
is_cancel
);
SELECT * FROM `tmp_t_login` LIMIT 0, 1000
SELECT count(*) FROM `tmp_t_login`
注册数据:
LOAD DATA LOCAL INFILE 'F:/door/201/register/registerAllLog.log.2014-01-05' INTO TABLE tmp_t_register CHARACTER
SET utf8 FIELDS TERMINATED BY '|' (
regist_time,
user_id,
account_name,
account_type,
regist_src,
area_code,
province,
city,
terminal_type,
ip_address,
app_key
);
SELECT count(*) FROM `tmp_t_register`
复制一张表的结构跟数据:
create table tmp_i_register as select * from tmp_t_register
删除表中的数据,但是保留表的结构:
1)DELETE FROM `tmp_i_login`
2)truncate table tmp_i_register
在网上看到说第二种方式是不可恢复的,本人没有进行过表数据点恢复,所以第一种也不知道能不能恢复。以下内容是在网上看到的:
innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit操作的话,可以执行rollback进行回滚恢复。如果是ddl操作,如drop、create、alter之类的操作时无效的。
哈哈,看起来好像挺高级的样子,不过还没有遇到过。
以下是创建的两张表:
中间也遇到许多的问题,但是都被解决了。现在才发现,原来自己对mysql一点都不熟了。