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
幸好当天的数据可以通过业务操作重新生成。 所以直接恢复到当天凌晨的数据即可。
出问题的操作:
数据库为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
相关文章推荐
- MongoDB ObjectId结构说明
- Tomcat集群Session管理之Memcached(MSM)
- Oracle命令和分页
- Oracle用户管理
- Oracle触发器
- 如何在Win8系统上安装MySQL 5.6
- 在Oracle-linux 7上安装Oracle 10g(一)之OEL7系统的安装
- oracle exits用法
- mybaits 动态SQL语句
- mysql 切割字符串的妙用
- Navicat Premium 中的日志文件在哪看
- Navicat中应用程序角色设计器的用处
- 在Navicat Report Viewer中怎么设置 SSL
- MySQL分页查询语句
- 使用Navicat for MySql导入.CSV文件
- mysql导入导出数据中文乱码解决方法小结
- linux下创建oracle表空间
- 【RedisLive】
- mongodb
- Hibernate与数据库分表