IntelliJ IDEA 14 database组建执行sql bug
IntelliJ IDEA 14 database组建执行sql bug
萝卜丁辣子 发表于2年前
IntelliJ IDEA 14 database组建执行sql bug
  • 发表于 2年前
  • 阅读 317
  • 收藏 1
  • 点赞 2
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 今天在使用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

 

 

共有 人打赏支持
粉丝 4
博文 13
码字总数 5821
×
萝卜丁辣子
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: