您的位置:首页 > 数据库

IntelliJ IDEA 14 database组建执行sql bug

2016-05-11 00:00 288 查看
摘要: 今天在使用idea 14执行一个sql的时候出现了点问题,导致直接删除了整张表的数据。
幸好当天的数据可以通过业务操作重新生成。 所以直接恢复到当天凌晨的数据即可。

出问题的操作:
数据库为mysql
在idea 14 的database 组件中执行sql : delete from 表1 where 字段1 in (select 字段2 from 表2 where ******* );
字段2 在表2中是不存在的, 所以该SQL 是一个语法错误的SQL,不应该能执行。
但是在 idea 14的database 组件中是可以执行的,执行的效果相当于:delete from 表1;
所以直接整个表的数据清空了。

解决过程:
1、找到mysql备份,当天凌晨的。 数据库备份任何情况下都是必备的。
2、先在一台测试机上做mysql恢复测试。
做该步骤操作的时候碰到一个小问题,mysql root密码忘记了 ,登陆mysql报如下错误:
mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决方式:
编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入
skip-grant-tables
保存退出后重启mysql
这时 mysql可以无密码登陆了, 登陆后修改root密码:
update user set password=password("新密码") where user="root";
flush privileges;
改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
3、执行mysql -uroot -p**** 数据库名<备份文件名, 数分钟后完成恢复操作。

解决的过程中还用到了一下几个命令,记录下:

实例1:从远处复制文件到本地目录

命令:

scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

实例2:从远处复制到本地

命令:

scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/

参考:http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: