IntelliJ IDEA 14 database组建执行sql bug

出问题的操作:
数据库为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 [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

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

命令:

scp -r [email protected]:/opt/soft/mongodb /opt/soft/

参考:http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html

 

 

你可能感兴趣的:(IntelliJ IDEA 14 database组建执行sql bug)