【问题标题】:Graphite Browser "Exception Value: attempt to write a readonly database"石墨浏览器“异常值:尝试写入只读数据库”
【发布时间】:2020-10-22 12:30:56
【问题描述】:

好吧,我进入了石墨和石墨网络并陷入了“异常值:尝试编写只读数据库”错误。我已经在数据库本身尝试了 chmod 和 chown,但我仍然收到此错误。

文件位于 /opt/graphite/storage/graphite.db 下,它获得了 rwx-rwx-rwx (chmod 777) 权限,我尝试将 www-data 作为所有者并将 root 放回它,因为它得到了同样的错误。

Environment:


Request Method: GET
Request URL: http://IP:8000/composer

Django Version: 1.8.18
Python Version: 2.7.16
Installed Applications:
('graphite.account',
 'graphite.browser',
 'graphite.composer',
 'graphite.dashboard',
 'graphite.events',
 'graphite.functions',
 'graphite.metrics',
 'graphite.render',
 'graphite.tags',
 'graphite.url_shortener',
 'graphite.whitelist',
 'django.contrib.auth',
 'django.contrib.sessions',
 'django.contrib.admin',
 'django.contrib.contenttypes',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'tagging')

Installed Middleware:
('graphite.middleware.LogExceptionsMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.gzip.GZipMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.contrib.auth.middleware.RemoteUserMiddleware')


    Traceback:
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
      132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File "/opt/graphite/webapp/graphite/composer/views.py" in composer
      27.     profile = getProfile(request)
    File "/opt/graphite/webapp/graphite/user_util.py" in getProfile
      35.         return default_profile()
    File "/opt/graphite/webapp/graphite/user_util.py" in default_profile
      51.                                       'password': '!'})
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py" in manager_method
      127.                 return getattr(self.get_queryset(), name)(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in get_or_create
      407.             return self._create_object_from_params(lookup, params)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in _create_object_from_params
      439.                 obj = self.create(**params)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in create
      348.         obj.save(force_insert=True, using=self.db)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py" in save
      734.                        force_update=force_update, update_fields=update_fields)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py" in save_base
      762.             updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py" in _save_table
      846.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py" in _do_insert
      885.                                using=using, raw=raw)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py" in manager_method
      127.                 return getattr(self.get_queryset(), name)(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in _insert
      920.         return query.get_compiler(using=using).execute_sql(return_id)
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py" in execute_sql
      974.                 cursor.execute(sql, params)
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py" in execute
      79.             return super(CursorDebugWrapper, self).execute(sql, params)
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py" in execute
      64.                 return self.cursor.execute(sql, params)
    File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py" in __exit__
      98.                 six.reraise(dj_exc_type, dj_exc_value, traceback)
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py" in execute
      64.                 return self.cursor.execute(sql, params)
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/base.py" in execute
      318.         return Database.Cursor.execute(self, query, params)
    
    Exception Type: OperationalError at /composer
    Exception Value: attempt to write a readonly database

来自error.log:

【问题讨论】:

    标签: python django apache wsgi graphite


    【解决方案1】:

    自己解决了。它不是数据库本身,而是没有写入权限的文件夹!

    【讨论】:

      猜你喜欢
      • 2013-01-03
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2015-10-27
      相关资源
      最近更新 更多