问题描述

由于超级管理员也看不到我们组织,也没有权限更改用户的角色或邀请新用户,于是想要通过db直接修改数据的方式处理,无奈呀。。。操作流程如下:

  1. 登录Linux服务器连接sqlite数据库:sqlite3 /data1/grafana/data/grafana.db
  2. 更新用户权限:update org_user set role=‘Admin’ where id = 483 and user_id in (222,223);
  3. 更新成功后去页面验证发现没有成功,则直接更新所有用户的角色:update org_user set role=‘Admin’ where user_id in (222,223);
  4. 结果报错如下
sqlite> update org_user set role='Admin' where user_id in (222,223);
Error: database is locked

执行.quit退出连接后再次登录执行依然报错该异常,什么鬼?

问题定位

百度各种都是通过python脚本c语言等第三方连接后并发操作出现的异常,修改并发执行便解决了问题。但是我们没有并发执行啊。。。
但是问题定位确实是并发产生的。因为sqlite是库级别锁,只能同时有一个线程或进程执行写操作。那么看下进程咯。结果发现果然存在后台进程挂在后台

[...hostname...]$ ps -ef | grep sqlite
517       57160  55672  0 13:59 pts/2    00:00:00 sqlite3 /data1/grafana/data/grafana.db
517       64049  55672  0 14:57 pts/2    00:00:00 grep sqlite
[...hostname...]$ ps -ef | grep 57160
517       57160  55672  0 13:59 pts/2    00:00:00 sqlite3 /data1/grafana/data/grafana.db
517       64101  55672  0 14:57 pts/2    00:00:00 grep 57160
[...hostname...]$ ps -ef | grep 55672
517       55672  55671  0 13:48 pts/2    00:00:00 -bash
517       57160  55672  0 13:59 pts/2    00:00:00 sqlite3 /data1/grafana/data/grafana.db
517       64110  55672  2 14:58 pts/2    00:00:00 ps -ef
517       64111  55672  0 14:58 pts/2    00:00:00 grep 55672
[...hostname...]$ who am i
ops      pts/2        2020-06-19 13:45 (172.24.1.41)
[...hostname...]$ exit
logout
There are stopped jobs.
[...hostname...]$ exit
logout

明明已经执行了.quit退出sqlite客户端,为什么还会有后台进程在执行写操作?无奈

问题解决

问题定位后解决方法就很简单咯,杀掉后台进程即可。委婉点,我直接退出当前ssh连接重新登录跳板机,跳到目标机器再次执行。木有异常了_

sqlite报错database is locked相关推荐

  1. Grafana 6.7的sqlite3数据库报错“database is locked”的修复方法

    服务器意外断电后,Grafana能启动,但无法正常访问,日志里报"database is locked",问题原因是grafana.db这个文件在断电时出现了数据不一致的状态,修复 ...

  2. sqlite报错:sqlite3.OperationalError: near “updata“: syntax error

    sqlite报错:sqlite3.OperationalError: near "updata": syntax error 在进行sqlite操作时,很容易因为看错或者手误造成报 ...

  3. python操作sqlite报错:sqlite3.OperationalError: unrecognized token: “630008.OF“

    python操作sqlite报错:sqlite3.OperationalError: unrecognized token: "630008.OF" 分析:Ana:column的名 ...

  4. 使用qt操作sqlite,报错attempt to write a readonly database

    今天做嵌入式课设时,踩了attempt to write a readonly database的坑,我首先想到的是通过 chmod 777的方式扩大我所创建的sqlite数据库的权限,但是仍然报错. ...

  5. 解决 SQLite报错:OperationalError: row value misused

    python操作sqlite时,写了这样一条语句: ("""SELECT (content, describe, id) FROM DAILYTASK WHERE nee ...

  6. MySQL卸载不干净回不到初始安装页面(MySQL Connector Net卸载不了),重装报错Database initialization failed等问题解决办法

    首先,这篇文章适合 1.常规卸载方法无法卸载干净导致重装始终回不到初始安装页面,即回不到下图初始状态,始终是welcome back (这部分我会单独讲一下MySQL Connector Net卸载不 ...

  7. C#操作SQLite 报错 (Attempt to write a read-only database)

      解决办法:找到SQLite数据库所在的文件夹,单击右键,属性->安全,为Users用户组添加写入权限.

  8. 使用Database Navigator插件进行连接sqlite报错invalid or incomplete database

    问题一: 需要直接在第一行添加位置,改为: 问题二:路径包含中文 改为:

  9. springboot中使用druid查询sqlite报错getFetchDirection error ResultSet closed

    解决办法是将pool-prepared-statements改为false,max-pool-prepared-statement-per-connection-size改为-1或注释掉. 如果没配置 ...

  10. zabbix3.2 报错 Database error

    一.Database error The frontend does not match Zabbix database. Current database version (mandatory/op ...

最新文章

  1. 基本数据类型和引用数据类型作为参数时候的问题
  2. 算法学习:AC自动机
  3. python3 性能提升_整理下Python性能语法,非常有效的提高性能的tips
  4. 谷歌OKR指导手册 (译)
  5. hadoop hdfs访问权限更新延迟问题
  6. 如何保存一个函数_如何表达一个“分段函数”之学习Matlab Function模块
  7. StratifiedKFold和KFold(5折验证)交叉验证的联系和区别Python实例
  8. web高德地图怎么加载离线地图_怎么验证全国离线卫星地图缓存文件的完整性
  9. 园龄一年了,可还未动笔.
  10. 开发错误记录5-Failed to sync Gradle project ‘HideTitleDemo’
  11. Java开发面试题汇总 -- 精选版(附答案)
  12. 汇编语言--x86汇编指令集大全
  13. web逻辑思维题目_有关于最难的逻辑思维题目及答案
  14. oracle数据透明加密,使用ORACLE 透明数据加密 TDE
  15. canvas 水墨画效果
  16. 7年老Android一次操蛋的面试经历
  17. Excel 2010 SQL应用078 DATEPART函数与TRANSFROM函数
  18. 3D打印机硬件驱动-马林固件最新版本2.0.X中文注释(1)marlin 2.0.9.2 截至发稿时间2021年12月16日
  19. 微信小程序个性头像、国庆头像、新年头像、圣诞头像等合成
  20. 【HTMLayout学习】学习缘由、什么是HTMLayout?

热门文章

  1. PHP swoole解密,[讨论]php7.3如何解密swoole
  2. 富爸爸穷爸爸读书感言
  3. python中 使用EVO工具 批量评估里程计 脚本
  4. NPOI遍历excel表格
  5. 搭建vue脚手架全教程
  6. 【对话系统】Knowledge-Grounded Dialogue Generation with a Unified Knowledge Representation
  7. html超链接位置居中,html 标题 超链接 居中 换行 图片 新标签页
  8. hive清空外部表的三种方式
  9. could not resolve xxx.jar
  10. 读懂这三本书,才算真懂大数据!(套装共3册) (如何读懂大数据主题系列) - 电子书下载(高清版PDF格式+EPUB格式)...