programing

mariadb-server에서 apt-get 업그레이드가 시간대로 인해 항상 실패함

yoursource 2022. 10. 23. 19:50
반응형

mariadb-server에서 apt-get 업그레이드가 시간대로 인해 항상 실패함

MariaDB 10.1.3, 커널 3.19.3, Debian

문제: apt-get 업그레이드는 항상 mariadb-server 시간대 문제로 인해 실패합니다.

my.cnf 내용

[mysqld]
default_time_zone=America/New_York

tzinfo도 Import했습니다.

# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

서비스를 수동으로 정지/기동해도 문제가 없습니다.

# service mysql restart
[ ok ] Stopping MariaDB database server: mysqld.
[ ok ] Starting MariaDB database server: mysqld ..
[info] Checking for corrupt, not cleanly closed and upgrade needing tables..

단, apt-get 업그레이드를 실행할 때마다 mariadb-server에서 항상 실패합니다.

# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]?
Setting up mariadb-server-10.1 (10.1.3+maria-1~wheezy) ...
[ ok ] Stopping MariaDB database server: mysqld.
dpkg: error processing mariadb-server-10.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mariadb-server:
 mariadb-server depends on mariadb-server-10.1 (= 10.1.3+maria-1~wheezy); however:
  Package mariadb-server-10.1 is not configured yet.

dpkg: error processing mariadb-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mariadb-server-10.1
 mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

에러는 다음과 같습니다.

# tail /var/log/syslog
mysqld_safe[32269]: [ERROR] Fatal error: Illegal or unknown default time zone 'America/New_York'

이 문제는 여러 서버에서 발생하고 있어 매우 귀찮은 문제가 되고 있습니다.당신의 도움이 필요해요.참고로 이 오류는 여러 버전에서 몇 년 동안 지속되었기 때문에 MariaDB 버전이 아닙니다.

추가 편집: my.cnf에서 default_time_zone 파라미터를 삭제하면 apt-get 업그레이드가 동작합니다.apt-get 업그레이드가 실패하는 것은 이 파라미터가 존재하는 경우뿐입니다.설정을 위해서 존재해야 합니다.

편집 2: 명확성을 확보하기 위해 default_time_zone을 삭제하고 apt-get 업그레이드를 정상적으로 수행한 후 default_time_zone을 다시 추가하고 재시작합니다.향후 mariadb-* 업그레이드는 apt를 통해 실패합니다.apt-get 업그레이드 중에는 일반 서비스 시작과 일치하지 않는 프로세스 고유의 문제가 있습니다.

같은 문제가 있었어.이것이 나에게 효과가 있었다.

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo apt-get install mariadb-server

의 모든 데이터가 삭제되므로 /var/lib/mysql 폴더를 백업합니다.

아마도 대답은 "MySQL 설치 절차에서 mysql 데이터베이스에 시간대 테이블을 생성하지만 로드하지 않습니다.다음 지침에 따라 수동으로 수행해야 합니다.."

매뉴얼 페이지를 참조해 주세요.

인스톨 에러에 관한 버그 리포트를 작성할 수도 있습니다.

언급URL : https://stackoverflow.com/questions/29565278/apt-get-upgrade-always-fails-on-mariadb-server-due-to-timezone

반응형