[MySQL] 테이블 복구(How To Repair Corrupted MySQL Tables)

문제 1 : MySQL과 WordPress으로 운영되는 블로그에서 백업이 안 된다.
조치 1 : phpMyAdmin에서 복구 명령을 실행시켰다.

문제 2 : phpMyAdmin에서 테이블에 “사용중”이란 메시지만 나타났다. 또한, “복구”명령에서 에러가 떴다.
조치 2 : MySQL을 멈추기 위해서 다음과 같이 명령을 입력했다.

문제 3 : mysqld를 멈출 수 없다.
조치 3 : 다음 명령어를 입력했으나, 멈추지 않았다.

문제 4 : mysqld를 멈출 수 없다.
조치 4 : 명령어를 다음과 같이 입력했다. 드디어 멈췄다.(ubuntu 14.04)

문제 5 : myisamchk를 이용하여 복구하려 했으나 다음과 같은 메시지가 떴다.

조치 5 : myisamchk를 통해 복구를 시도했다.

문제 6 : 에러 메시지 “error: Can’t create new tempfile”가 나타나고 복구가 되지 않았다.
조치 6 : 강제 복구 명령어를 입력했다.

조치 7 : 드디어 모든 테이블을 복구했다. 그래서 mysql을 재실행하다.

<교훈(lessons)>
1. ubuntu 14.04에서 MySQL를 멈추거나 실행하기 위해서는 다음과 같은 명령어를 입력한다.

2. 테이블를 복구하기 위해서는 myisamchk명령어를 이용한다.

[mac]Apache, MySQL, PHP, phpMyAdmin 설정

MySQL‬ 을 ‎Yosemite‬(‪‎요세미티‬)에 설치하기
문제 1 : 현재의 최신 버전 MySQL 5.6.21은 매버릭스(Mac OS X 10.9)까지만 지원해서 설치시 오류 메시지가 발생한다.
해결 1 : 설치시 “사용자화(custom install)”를 선택해서 “start up item”을 체크해제하여야 한다.(http://coolestguidesontheplanet.com/get-apache-mysql-php-p…/)
문제 2 : MySQL이 요세미티에서는 맥 시작시 자동으로 실행되지 않고, 수동으로 실행시켜줘야 한다.
해결 2 : 아래 링크된 페이지(http://stackoverflow.com/questions/26476391/how-to-auto-load-mysql-on-startup-on-osx-yosemite)에서 소개하는 /Library/LaunchDaemons/com.mysql.mysql.plist 파일을 만든 다음, launchctl에 추가한다.

-다음의 파일 만들기
/Library/LaunchDaemons/com.mysql.mysql.plist

launchctl에 추가하기

우분투 11.10 mysql에서 DB파일의 위치를 변경 방법

<개요>
데이터베이스의 저장 장소를 별도로 하는 경우가 많다. 그러면 해당 DBMS가 그 위치를 알게 할 필요가 있다.
현재 학과 mySQL를 자료를 /home/mysql 에 보관하고 있다. 자료를 별도의 파티션에 두고 여기를 /home으로 마운트했다. 이렇게 하면 시스템을 소위 엎어도 다시 복구하기가 편하다.
우분투 11.10은 /var/lib/mysql 에 자료를 저장하고 있다. 따라서 이 위치를 변경해줘야 학과 자료를 읽어올 수 있다.

<가정>
데이터베이스 위치 : /home/mysql

<진행>1. mysql를 정지시킨다

2. /etc/mysql/my.cnf를 다음과 같이 수정한다.
변경 전

변경 후

3. /etc/apparmor.d/usr.sbin.mysqld를 수정한다.
변경 전

변경 후

4. 변경된 내용을 반영시킨다.

5. 다시 mySQL를 재시동한다.

<참고문헌>
원문 : http://suminstory.tistory.com/114
** 원문에서는 우분투 8.04였으나, 11.10에서도 무난히 작동한다.

Mac OS X에서 MySQL을 삭제하기

How to remove MySQL on Mac OS X
출처 : JohnCosta

Mac OS X Lion Web Server 구축기

– 기존 서버의 내용을 백업한다.(첨부파일까지 포함)
– 기존의 컴퓨터를 대신한 새 컴퓨터에 IP 할당하기
 서버관리자에게 새 컴퓨터의 MAC address를 알려준다.

– 서버 앱에서 웹 사이트를 추가한다. (-> virtual hosts를 설정하는 것임)
– www.solarview.net의 파일 저장 위치에 텍스트큐브(textcube 1.8.6)복사해 놓는다.
– MySQL를 설치하기(MySQL Community Server 5.5.19)
– MySQL에 데이터베이스와 계정을 추가한다.(MySQL 계정추가하기)
– 웹브라우저로 www.solarview.net을 접속한다.
– 텍스트큐브 설치를 한다. 그런데  MySQL에 접속이 안 된다. (1차 실패)
– MySQL의 소켓 경로를 고친다.(Lion Server : MySQL용 PHP 구성)
– 텍스트큐브를 위한 php.ini를 수정한다.(  AllowOverride FileInfo로 수정)
– 텍스트큐브를 설치한다.  테이블을 생성할 수 없다.(2차 실패)
– tc 1.8.6은 MySQL 5.5에서 오류가 발생한단다. 향후 1.8.7에서는 수정한단다.(텍스트큐브 1.8.6)
– MySQL 5.5를 삭제한다. (Removing MySQL from OSX Lion)
– MySQL를 설치하기(MySQL Community Server 5.1.60)

– 텍스트큐브를 설치한다. (성공)
– 블로그 자료를 복구한다. (파일 용량이 크므로 웹에서 복원을 선택)

<결론>
Mac OSX Lion에 텍스트큐브 1.8.6으로 홈페이지를 구성하려면,
MySQL의 최신버전이 아닌 5.1 버전을 설치하고,
Lion에서는 MySQL의 소켓 위치 바꿔주어야 한다.

MySQL에 계정(account)과 DB 추가하기 – 스크립트(script)

출처 : http://www.fduser.org/blog/67

!/bin/sh

MySQL에 계정(account)과 DB 추가하기

출처 : http://www.fduser.org/blog/30

1. mysql Database에 root 권한으로 접속 한다.

2. mysql db를 선택한다.

3. mysql db의 user테이블에 사용할계정과 패스워드를 입력한다.

4. mydql db의 db테이블의 필드수 확인.

5. mysql db의 db 테이블에 사용할 db와 계정을 연결시키고 db테이블의 필드 수만큼, 접근권한을 부여한다. (Default 필드의 N 의 수만큼 y를 입력)

6. 추가한 내용을 적용시킨다.

7. shell 상에서 mysql 접속 테스트.