Mysql innodb는 커널 버퍼를 우회하고 Linux에서 직접 I/O를 실현하도록 raw를 구성합니다.
(리눅스 커뮤니티에서 다시 게시)
MySQL의 InnoDB 스토리지 엔진은 인덱스뿐 아니라 데이터도 캐시할 수 있습니다. 테이블과 인덱스를 원시 장치(Raw Device)에 저장하여 파일 시스템의 캐시와 버퍼를 우회하고 디스크에 직접 접근할 수 있습니다. Linux 파일 시스템의 부담을 크게 줄이고 시스템 성능을 크게 향상시킵니다.
또한, 데이터베이스 애플리케이션의 베어 디바이스 최적화 원칙에서 데이터베이스 최적화의 기본 방향은 고유한 I/O 집약적인 액세스로 인해 발생하는 파일 시스템의 과도한 부담을 줄이는 방법임을 알 수 있습니다. 데이터 베이스. 따라서 기존 파일 시스템 기반 데이터베이스 스토리지 엔진에서도 특별한 파일 시스템 마운트 방법을 고려할 수 있다.
예를 들어 데이터베이스 파일을 저장하는 파티션의 마운트 매개변수로 noatime을 사용하면 액세스 시간이 더 이상 기록되지 않으므로 시스템 성능이 어느 정도 향상될 수 있습니다.
──────────────────────────────────────────────── ─────────────────────────
본 노트에 구성된 최신 시스템 환경:
──────────── ── ───────────────────────────────────────────────── ───────────
OS: CentOS6
HDD: /dev/sdc /dev/sdd
RAW: /dev/raw/raw1 /dev/raw/raw2
MySQL: 5.1.61
USER: mysql:mysql
공식 웹사이트의 구성 가이드를 참조하세요:
──────────────────────────────────────────────── ────────────────────────
(1) 원시 장치 준비
──────── ───────── ───────────────────────────────────── ──────────── ──────────
원시 장치를 사용하기 전에 먼저 디스크 장치를 원시 장치에 바인딩해야 합니다.
# /bin/raw /dev/raw/raw1 /dev/sdc;
-------------------------------- --------------
/ dev/raw/raw1: 바인딩됨 메이저 8, 마이너 32
----------------------------------------- ---- ---------------------------------
다른 원시 장치를 바인딩한 다음 MySQL 데이터베이스의 실행 사용자에게 원시 장치를 읽고 쓸 수 있는 권한을 부여하세요.
# /bin/raw /dev/raw/raw2 /dev/sdd;
# chown 루트:mysql /dev/raw/raw1 /dev/raw/raw2;
# chmod 0660 /dev/raw/raw1 /dev/raw /원시2;
# /bin/raw -qa;
# /bin/raw -q /dev/raw/raw1;
# /bin/ls -l /dev/raw/raw1;
# blockdev --report /dev/raw /raw1;
# blockdev --report /dev/sdc;
vi /etc/udev/rules.d/60-raw.rules;
------------------ --- ---------------------------------- ---
ACTION=="추가", KERNEL=="sdc", GROUP=="mysql", MODE=="0660", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION =="추가", KERNEL=="sdd", GROUP=="mysql", MODE=="0660", RUN+="/bin/raw /dev/raw/raw2 %N"
------ ---- -------------------- ---- -------
참고: 이렇게 하면 서버 재부팅 시 /dev/sdc 및 /dev/sdd 장치가 자동으로 바인딩됩니다.
# vi /etc/udev/rules.d/41-local-permissions-rules;
──────────────────────────────────────────────── ─────────────────────────
(2) 필요한 경우 이전 InnoDB 데이터 테이블을 먼저 백업하세요
──── ───── ───────────────────────────────────────────────── ─────────────────
데이터베이스가 이미 실행 중이고 기존 데이터가 이전 InnoDB 엔진에 저장되어 있는 경우, 마이그레이션이 필요한 경우,
mysqldump 명령을 사용하여 내보내기를 수행하세요. 데이터베이스를 닫기 전에 데이터를 가져온 다음 새 엔진이 구성된 후에 데이터를 가져옵니다.
다음 SQL 명령을 참조하여 InnoDB 데이터 테이블을 보고 내보낼 수 있습니다.
mysql> SELECT table_schema,table_name,engine FROM INFORMATION_SCHEMA.TABLES;
mysql> SELECT table_schema, table_name FROM INFORMATION_SCHEMA.TABLES WHERE 엔진='InnoDB';
필요한 경우 mysqldump를 사용하여 데이터를 내보낼 수 있습니다. 다음 형식을 참조하세요(해당 데이터베이스 및 테이블 이름을 사용하세요).
mysqldump -u root -p -h localhost [데이터베이스].[테이블] >
참고: 이전 데이터 테이블을 테이블별로 내보내야 합니다.──────────────────────────────────────────────── ─────────────────────────
(3) 초기화 단계 중 MySQL 구성
──────────── ─── ──────────────────────────────────────────────── ──────────
새 데이터 파일을 생성할 때 innodb_data_file_path:
에서 데이터 파일 크기 바로 뒤에 키워드 newraw
# vi /etc/my.cnf;
----------------------------------------- ------ ------------------ ----
[mysqld]
innodb_buffer_pool_size=128M
innodb_data_home_dir=
innodb_data_file_path=/dev/raw/raw1:64Mnewraw;/dev/raw/raw2:64Mnewraw
--------------- ------------- ----------- ------------- ---
후기:
mysql은 my.ini
에서 innodb_flush_method를 구성하는 또 다른 구현 방법도 제공합니다.innodb_flush_method = O_DIRECT
직접 I/O도 가능합니다
위 내용은 Mysql innodb는 커널 버퍼를 우회하고 Linux에서 직접 I/O를 실현하도록 raw를 구성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Navicat Premium을 사용하여 데이터베이스 생성 : 데이터베이스 서버에 연결하고 연결 매개 변수를 입력하십시오. 서버를 마우스 오른쪽 버튼으로 클릭하고 데이터베이스 생성을 선택하십시오. 새 데이터베이스의 이름과 지정된 문자 세트 및 Collation의 이름을 입력하십시오. 새 데이터베이스에 연결하고 객체 브라우저에서 테이블을 만듭니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 데이터 삽입을 선택하여 데이터를 삽입하십시오.

응용 프로그램을 열고 새로운 연결 (Ctrl n)을 선택하여 Navicat에서 새로운 MySQL 연결을 만들 수 있습니다. "MySQL"을 연결 유형으로 선택하십시오. 호스트 이름/IP 주소, 포트, 사용자 이름 및 비밀번호를 입력하십시오. (선택 사항) 고급 옵션을 구성합니다. 연결을 저장하고 연결 이름을 입력하십시오.

Navicat을 사용하여 로컬 MySQL 데이터베이스에 연결하려면 : 연결을 만들고 연결 이름, 호스트, 포트, 사용자 이름 및 비밀번호를 설정하십시오. 연결을 테스트하여 매개 변수가 올바른지 확인하십시오. 연결을 저장하십시오. 연결 목록에서 새 연결을 선택하십시오. 연결하려는 데이터베이스를 두 번 클릭하십시오.

SQL 그래픽 도구에 열을 추가하십시오. 추가하려는 열을 선택하십시오. 마우스 오른쪽 버튼을 클릭하고 "Alter Table"또는 이와 유사한 옵션을 선택하십시오. 새 열의 속성 (이름, 데이터 유형, 길이 또는 비어 있는지)의 속성을 정의합니다. 해당되는 경우 새 열의 기본값을 지정합니다. 데이터 오류를 피하려면 적절한 데이터 유형을 선택하십시오. 의미있는 열 이름을 사용하십시오. 큰 테이블에서 열 추가 작업을 수행 할 때 성능 영향을 고려하십시오. 데이터 손실을 방지하기 위해 작업 전에 항상 데이터베이스를 백업하십시오.

MySQL : MySQL : Alter Table_Name ADD CORMEN_NAME DATY_TYPE; POSTGRESQL : ALTER TABLE_NAME ADD CORMENT CORMENT CORMEN_NAME DATY_TYPE; ORACLE : ALTER TABLE_NAME ADD (column_name Data_Type); SQL 서버 : Alter Table_Name Data_name Data_name ADD

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

백업 또는 트랜잭션 롤백 메커니즘이없는 한 데이터베이스에서 직접 삭제 된 행 복구는 일반적으로 불가능합니다. 키 포인트 : 거래 롤백 : 트랜잭션이 데이터를 복구하기 전에 롤백을 실행합니다. 백업 : 데이터베이스의 일반 백업을 사용하여 데이터를 신속하게 복원 할 수 있습니다. 데이터베이스 스냅 샷 : 데이터베이스의 읽기 전용 사본을 작성하고 데이터를 실수로 삭제 한 후 데이터를 복원 할 수 있습니다. 주의해서 삭제 명령문을 사용하십시오. 실수로 데이터를 삭제하지 않도록 조건을주의 깊게 점검하십시오. WHERE 절을 사용하십시오 : 삭제할 데이터를 명시 적으로 지정하십시오. 테스트 환경 사용 : 삭제 작업을 수행하기 전에 테스트하십시오.

Navicat은 데이터베이스를 복제하는 두 가지 방법을 제공합니다. Replica 데이터베이스 마법사 사용 : 대상 서버를 선택하고 데이터베이스 이름을 입력하고 복제 옵션을 지정하십시오. 수동 사본 : 데이터베이스를 내보낸 다음 대상 서버에서 내보내는 파일을 가져옵니다.
