2009년 7월 19일 일요일

mythtv의 mysql

mythtv는 여러 설정과 기록물을 위해 mythconverg라는 database를 사용합니다.
  • mysql 데이타베이스가 손상된 것 같으면
    mysqlcheck -u mythtv -p비밀번호 mythconverg
    고치려면
    mysqlcheck -r -u mythtv -p비밀번호 mythconverg

  • channel databae의 백업하려면 먼저 mysql에 들어갑니다.

    mysql -u root -p mythconverg

    이제 백업합니다.
    select * into outfile '/tmp/channelsBackup' from channel;

    복구하려면 다음과 같이 합니다.
    load data infile '/tmp/channelsBackup' into table channel;
  • mysql의 root 유저의 비밀번호를 잃어 버렸으면 (시스템의 root가 아닌)

    먼저 mysql daemon을 중지하고
    $ su
    # service mysql stop

    다시 daemon을 실행합니다.
    # mysqld_safe --skip-grant-tables &
    마지막의 &는 background로 실행시키는 것입니다.

    이제 비밀번호를 바꾸고
    # mysql -uroot mysql
    > UPDATE user SET password=PASSWORD("비밀번호") WHERE user="root";
    > FLUSH PRIVILEGES;
    > exit
    다시 mysql을 실행합니다.
    # service mysql restart
    이제 비밀번호를 확인해봅니다.
    $ mysql -u root -p
  • database 전체를 백업하려면 다음과 같은 스크립트를 만들어 저장합니다.
    예를 들어 backup.mythdb같이...
    아래의 스크립트는 매일 해도 1주 마다 파일명이 바뀌게 됩니다. 1년중 몇 주차 파일이라고 기록됩니다.

    #!/bin/bash
    #Dumps the mythconverg database - daily backup
    #Keeps the last 7 days
    DAY=`/bin/date +%u`
    DUMPFILE="mythdb_$DAY.sql.bz2"
    /usr/bin/mysqldump -u mythtv -p비밀번호 --extended-insert mythconverg -c |\
    /bin/bzip2 -cq9 > /tmp/$DUMPFILE
    exit 0

    위에서 붉은 색의 비밀번호와 /tmp는 맞게 수정합니다.
    실행가능하게 하고 chmod a+x backup.mythdb
    이제 실행은 sh ./backup.mythdb

댓글 없음: