일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 문파문파
- 해외직구
- 인공지능
- 안드로이드
- 뉴스타파
- 리뷰
- 손민한
- Tizen
- 문파문파 공략
- 데이터베이스
- 야구
- 단통법
- 애플
- ubuntu 12.04
- 디자인 패턴
- Linux
- mysql
- 프로야구
- NC다이노스
- ubuntu
- NC 다이노스
- 블로그
- 조세피난처
- arm
- 우분투
- 김경문
- 정보시스템감리사
- 타이젠
- 국정원
- 태그를 입력해 주세요.
Archives
- Today
- Total
꿈꾸는 사람.
[MySQL][Error 13 해결] 파일 읽기/쓰기 실패 (Can't create/write to file) 본문
반응형
데이터베이스를 배우기 위해 MySQL을 사용하고 있다.
처음에는 테이블에 데이터를 INSERT 명령어를 사용하여 하나씩 입력했다.
점점 불편함을 느껴 외부 파일에서 데이터를 읽어 테이블에 적재하는 방법이 쓰려 했다.
"LOAD DATA INFILE"명령으로 외부 파일을 읽어 올 때 뜬금 없는 오류가 발생했다.
1. "LOAD DATA INFILE" 시도할 때 "ERROR 13" 발생.
2. 해결책 발견
읽어올 외부 파일의 권한을 777로 변경했으나 동일 문제 발생.
문제는 AppArmor("Application Armor")란 리눅스 보안모듈이 MySQL의 권한을 제한하고 있는 것이다. 1
2.1 [sudo aa-status] 사용하여 현재 AppArmor 정책 확인.
mysqld가 강제 모드에 포함되어 있어서 쓰기를 거부하는 것이다.
AppArmor가 쓰기 / 액세스를 차단하면 항목이 / var / log / 에 기록된다.
해야하는 일은 /etc/apparmor.d/usr.sbin.mysqld를 편집하고 / data / 및 / data / *를 아래와 같이 추가하는 것이다.
2.2 etc/apparmor.d/usr.sbin.mysqld를 편집
[수정 전]
[수정 후]
3. 정상동작 확인.
mysql> load data infile '/home/hyunmu/DB/sampdb/s2013_52.txt' into table student; Query OK, 5 rows affected (0.05 sec) Records: 5 Deleted: 0 Skipped: 0 Warnings: 0 |
MySQL 재실행 후 외부 파일 읽기가 정상동작하는 것을 확인하였다.
- [출처: 위키백과] AppArmor ("Application Armor")는 시스템 관리자가 프로그램 프로필 별로 프로그램의 역량을 제한할 수 있게 해주는 리눅스 커널 보안 모듈이다. 프로필들은 네트워크 액세스, raw 소켓 액세스 그리고 파일의 읽기, 쓰기, 실행 같은 능력을 허용할 수 있다. AppArmor는 강제적 접근 통제(MAC)를 제공함으로써 전통적인 유닉스 임의적 접근 통제(DAC) 모델을 지원한다. 이것은 리눅스 버전 2.6.36부터 포함되었으며, 개발은 2009년부터 캐노니컬 사에 의해 지원된다. [본문으로]
반응형
'IT > Database' 카테고리의 다른 글
[Windows][MySQL 8.0.13][DataSource]Loading class `com.mysql.jdbc.Driver'. This is deprecated. (0) | 2018.12.30 |
---|---|
[Windows][MySQL 8.0.13][JDBC Driver] time zone 오류 해결 (0) | 2018.12.18 |
[초간단 SQL 학습][MySQL] 파일로부터 데이터를 읽어오기. (0) | 2017.02.08 |
[초간단 SQL 학습][MySQL] 데이터베이스, 테이블 만들기. (0) | 2016.04.23 |
[SQL][SELECT 명령어] aggregate 함수를 이용한 검색. (0) | 2016.04.17 |
Comments