xhongc / music-tag-web

音乐标签编辑器,可编辑本地音乐文件的元数据(Editable local music file metadata.)
https://xiers-organization.gitbook.io/music-tag-web-v2
GNU General Public License v3.0
2.64k stars 177 forks source link

【Bug问题】: 使用mysql的时候web页面一直无法打开 #270

Closed sumdream closed 4 days ago

sumdream commented 2 weeks ago

docker镜像版本

lasted

MusicTagWeb 版本

V2

bug 描述

一开始没有使用mysql,能够正常打开web页面.但是操作会提示数据库锁定. 看到wiki上有进阶配置中可以使用mysql.通过一顿折腾后,始终无法打开web页面. 容器全部删除重头开始配置,直接只用mysql也是如此.容器日志和进celerybeat_err.log 在下方. 容器日志中beat一直在启动和退出.

系统日志(可填)

容器日志:
2024/11/02 15:05:47,stdout,"2024-11-02 07:05:47,044 INFO spawned: 'beat' with pid 58
"
2024/11/02 15:05:46,stdout,"2024-11-02 07:05:46,041 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:43,stdout,"2024-11-02 07:05:43,291 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:42,stdout,"2024-11-02 07:05:42,289 INFO spawned: 'beat' with pid 55
"
2024/11/02 15:05:41,stdout,"2024-11-02 07:05:41,286 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:38,stdout,"2024-11-02 07:05:38,514 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:37,stdout,"2024-11-02 07:05:37,514 INFO spawned: 'beat' with pid 52
"
2024/11/02 15:05:36,stdout,"2024-11-02 07:05:36,511 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:33,stdout,"2024-11-02 07:05:33,756 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:32,stdout,"2024-11-02 07:05:32,754 INFO spawned: 'beat' with pid 49
"
2024/11/02 15:05:31,stdout,"2024-11-02 07:05:31,752 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:29,stdout,"2024-11-02 07:05:28,996 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:27,stdout,"2024-11-02 07:05:27,995 INFO spawned: 'beat' with pid 46
"
2024/11/02 15:05:26,stdout,"2024-11-02 07:05:26,992 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:24,stdout,"2024-11-02 07:05:24,255 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:23,stdout,"2024-11-02 07:05:23,253 INFO spawned: 'beat' with pid 43
"
2024/11/02 15:05:22,stdout,"2024-11-02 07:05:22,250 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:19,stdout,"2024-11-02 07:05:19,482 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:18,stdout,"2024-11-02 07:05:18,481 INFO spawned: 'beat' with pid 40
"
2024/11/02 15:05:17,stdout,"2024-11-02 07:05:17,479 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:14,stdout,"2024-11-02 07:05:14,740 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:13,stdout,"2024-11-02 07:05:13,738 INFO spawned: 'beat' with pid 37
"
2024/11/02 15:05:12,stdout,"2024-11-02 07:05:12,735 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:09,stdout,"2024-11-02 07:05:09,986 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:08,stdout,"2024-11-02 07:05:08,984 INFO spawned: 'beat' with pid 34
"
2024/11/02 15:05:08,stdout,"2024-11-02 07:05:08,235 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:05,stdout,"2024-11-02 07:05:05,468 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:05:04,stdout,"2024-11-02 07:05:04,466 INFO spawned: 'beat' with pid 31
"
2024/11/02 15:05:03,stdout,"2024-11-02 07:05:03,464 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:05:00,stdout,"2024-11-02 07:05:00,694 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:59,stdout,"2024-11-02 07:04:59,693 INFO spawned: 'beat' with pid 28
"
2024/11/02 15:04:58,stdout,"2024-11-02 07:04:58,689 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:04:55,stdout,"2024-11-02 07:04:55,913 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:54,stdout,"2024-11-02 07:04:54,912 INFO spawned: 'beat' with pid 24
"
2024/11/02 15:04:54,stdout,"2024-11-02 07:04:54,876 INFO exited: beat (exit status 1; not expected)
"
2024/11/02 15:04:51,stdout,"2024-11-02 07:04:51,204 INFO success: xiaoai entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:51,stdout,"2024-11-02 07:04:51,204 INFO success: beat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:51,stdout,"2024-11-02 07:04:51,204 INFO success: worker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:51,stdout,"2024-11-02 07:04:51,204 INFO success: redis entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:51,stdout,"2024-11-02 07:04:51,204 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:51,stdout,"2024-11-02 07:04:51,203 INFO success: gunicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
"
2024/11/02 15:04:50,stdout,"2024-11-02 07:04:50,150 INFO spawned: 'xiaoai' with pid 12
"
2024/11/02 15:04:50,stdout,"2024-11-02 07:04:50,148 INFO spawned: 'beat' with pid 11
"
2024/11/02 15:04:50,stdout,"2024-11-02 07:04:50,146 INFO spawned: 'worker' with pid 10
"
2024/11/02 15:04:50,stdout,"2024-11-02 07:04:50,144 INFO spawned: 'redis' with pid 9
"
2024/11/02 15:04:50,stdout,"2024-11-02 07:04:50,141 INFO spawned: 'nginx' with pid 8
"
2024/11/02 15:04:50,stdout,"2024-11-02 07:04:50,139 INFO spawned: 'gunicorn' with pid 7
"
2024/11/02 15:04:49,stdout,"2024-11-02 07:04:49,136 INFO supervisord started with pid 1
"
2024/11/02 15:04:49,stdout,"2024-11-02 07:04:49,136 CRIT Server 'unix_http_server' running without any HTTP authentication checking
"
2024/11/02 15:04:49,stdout,"2024-11-02 07:04:49,136 INFO RPC interface 'supervisor' initialized
"
2024/11/02 15:04:49,stdout,"2024-11-02 07:04:49,135 CRIT Server 'inet_http_server' running without any HTTP authentication checking
"
2024/11/02 15:04:49,stdout,"2024-11-02 07:04:49,135 INFO RPC interface 'supervisor' initialized
"
2024/11/02 15:04:49,stdout,"2024-11-02 07:04:49,127 INFO Set uid to user 0 succeeded
"
2024/11/02 15:04:48,stdout,Skipping creation of musictag user because PUID or PGID is set to 0.
celerybeat_err.log 的日志
[2024-11-02 15:04:54,255: CRITICAL/MainProcess] beat raised exception <class 'django.db.utils.ProgrammingError'>: ProgrammingError(1146, "Table 'music_tag.django_celery_beat_periodictask' doesn'
t exist")
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/mysql/base.py", line 73, in execute
    return self.cursor.execute(query, args)
  File "/usr/local/lib/python3.9/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/usr/local/lib/python3.9/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/usr/local/lib/python3.9/site-packages/MySQLdb/connections.py", line 259, in query
    _mysql.connection.query(self, query)
MySQLdb._exceptions.ProgrammingError: (1146, "Table 'music_tag.django_celery_beat_periodictask' doesn't exist")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/celery/apps/beat.py", line 113, in start_scheduler
    service.start()
  File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 634, in start
    humanize_seconds(self.scheduler.max_interval))
  File "/usr/local/lib/python3.9/site-packages/kombu/utils/objects.py", line 40, in __get__
    return super().__get__(instance, owner)
  File "/usr/local/lib/python3.9/functools.py", line 993, in __get__
    val = self.func(instance)
  File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 677, in scheduler
    return self.get_scheduler()
  File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 668, in get_scheduler
    return symbol_by_name(self.scheduler_cls, aliases=aliases)(
  File "/usr/local/lib/python3.9/site-packages/django_celery_beat/schedulers.py", line 231, in __init__
    Scheduler.__init__(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 264, in __init__
    self.setup_schedule()
  File "/usr/local/lib/python3.9/site-packages/django_celery_beat/schedulers.py", line 239, in setup_schedule
    self.install_default_entries(self.schedule)
  File "/usr/local/lib/python3.9/site-packages/django_celery_beat/schedulers.py", line 361, in schedule
    self._schedule = self.all_as_schedule()
  File "/usr/local/lib/python3.9/site-packages/django_celery_beat/schedulers.py", line 245, in all_as_schedule
    for model in self.Model.objects.enabled():
  File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 280, in __iter__
    self._fetch_all()
  File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
 File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/usr/local/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/mysql/base.py", line 73, in execute
    return self.cursor.execute(query, args)
  File "/usr/local/lib/python3.9/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/usr/local/lib/python3.9/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/usr/local/lib/python3.9/site-packages/MySQLdb/connections.py", line 259, in query
    _mysql.connection.query(self, query)