1. MySQL 소개
개요
MySQL은 스웨덴 MySQL AB 회사에서 개발한 관계형 데이터베이스 관리 시스템으로 현재 Oracle에 속해 있습니다.
MySQL은 모든 데이터를 하나의 큰 웨어하우스에 보관하는 대신 여러 테이블에 데이터를 보관하여 속도를 높이고 유연성을 향상시키는 관계형 데이터베이스 관리 시스템입니다.
Mysql은 오픈소스이므로 추가 비용을 지불할 필요가 없습니다.
Mysql은 대용량 데이터베이스를 지원합니다. 수천만 개의 레코드가 포함된 대규모 데이터베이스를 처리할 수 있습니다.
MySQL은 표준 SQL 데이터 언어 형식을 사용합니다.
Mysql은 여러 시스템에서 사용할 수 있으며 여러 언어를 지원합니다. 이러한 프로그래밍 언어에는 C, C++, Python, Java, Perl, PHP, 에펠, 루비 및 Tcl 등이 포함됩니다.
Mysql은 현재 가장 인기 있는 웹 개발 언어인 PHP를 훌륭하게 지원합니다.
MySQL은 5천만 개의 레코드를 포함하는 대규모 데이터베이스와 데이터 웨어하우스를 지원합니다. 32비트 시스템 테이블 파일은 최대 4GB를 지원하며, 64비트 시스템은 최대 8TB.
Mysql은 사용자 정의가 가능하며 GPL 프로토콜을 채택하여 소스 코드를 수정하여 자신만의 Mysql 시스템을 개발할 수 있습니다.
고급 MySQL에는 지식이 필요합니다
mysql 커널
SQL 최적화 공성전
mysql 서버 최적화
다양한 매개변수 상수 설정
-
쿼리문 최적화
마스터-슬레이브 복제
소프트웨어 및 하드웨어 업그레이드
재해 복구 백업
sql 프로그래밍
mysql 최적화를 완료하려면 대기업에도 위 내용을 작성하는 전담 DBA가 있어야 합니다
2. MySQL Linux 버전 설치
이번에는 MySQL 5.5가 설치되어 있으며, 설치 환경은 CentOS 6.5
버전 다운로드입니다. 주소 공식 홈페이지 다운로드 주소
다운로드MySQL-Client 및 MySQL-Server
downloads.skysql.com/archives/mysql-5.5/MySQL-server-5.5.16-1.rhel4.i386.rpm
downloads.skysql.com/archives/mysql - 5.5/MySQL-client-5.5.16-1.rhel4.i386.rpm
downloads.skysql.com/archives/mysql-5.5/MySQL-devel-5.5.16- 1 .rhel4.i386.rpm
현재 시스템에 MySQL이 설치되어 있는지 확인
쿼리 명령:
rpm -qa|grep -i mysql
삭제 명령:
rpm -e --nodeps RPM包全名
mysql 서버 설치(팁 주의 )
-
비밀번호 프롬프트 설정
mysql 클라이언트 설치
MySQL 설치 중에 생성된 mysql 사용자 및 mysql 그룹 보기
# cat /etc/passwd | grep mysql
# cat /etc/group | grep mysql
mysql 서비스 시작 + 중지
문자 집합 보기
문자셋을 수정하고, 앞서 복사한 설정파일을 수정합니다. (상세 후속 코드)
MySQL 설치 위치
show variables like 'character%';
show variables like '%char%';
-
문자셋
기본값은 클라이언트와 서버 모두 latin1 을 사용하면 코드가 깨집니다.
linux에서 설치 디렉터리 보기
ps -ef|grep mysql
-
현재 5.5 버전 복사:
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
버전 5.6
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
#chkconfig mysql on
자동 시작 설정# chkconfig --list | grep mysql
자동 시작 설정 여부 확인# /etc/init.d/mysql start
# /etc/init.d/mysql stop
-
또는
#service mysql start
#service mysql stop
MySQL 시작을 확인하세요. 및 중지 상태:
# ps -ef | grep mysql
작업 시작 및 중지:
MySQL 자체 시작 서비스 설정
구성 파일 위치 수정
문자 집합 및 데이터 저장 경로 수정
路径 | 解释 | 备注 |
---|---|---|
/var/lib/mysql/ | mysql数据库文件的存放路径 | /var/lib/mysql/atguigu.cloud.pid |
/usr/share/mysql | 配置文件目录 | mysql.server命令及配置文件 |
/usr/bin | 相关命令目录 | mysqladmin mysqldump等命令 |
/etc/init.d/mysql | 启停相关脚本 |
MySQL 설치 위치
[client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock # 这一行需要设置字符集 default-character-set=utf8 # The MySQL server [mysqld] port = 3306 # 还有这三行 character_set_server=utf8 character_set_client=utf8 collation-server=utf8_general_ci socket = /var/lib/mysql/mysql.sock skip-external-locking key_buffer_size = 384M max_allowed_packet = 1M table_open_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8 [mysql] no-auto-rehash # 还有这一行 default-character-set=utf8
3.Mysql 구성 파일
기본 구성 파일
바이너리 로그 로그빈
마스터-슬레이브 복제
-
오류 로그 로그-오류
기본적으로 꺼져 있으며 심각한 경고 및 오류 메시지를 기록합니다. 매번 시작 및 종료 세부 정보 등
쿼리 로그 로그
기본적으로 꺼짐으로 설정되어 있으면 쿼리 SQL 문을 기록합니다. 로그를 기록하면 시스템 리소스
데이터 파일
-
windows
도 소비하므로 mysql의 전반적인 성능이 저하됩니다. Linux:
D:devSoftMySQLServer5.5data 디렉터리에서 여러 라이브러리를 선택할 수 있습니다
-
기본 경로
#cd /var/lib/mysql/
들어가기 전 현재 시스템의 라이브러리를 모두 살펴보세요
#ls -1F | grep ^d
두 시스템
frm 파일: 테이블 구조 저장
myd 파일: 테이블 데이터 저장
myi 파일: 테이블 인덱스 저장
-
Windows 구성 방법 : my.ini 파일
Linux: /etc/my.cnf 파일
4. Mysql 논리 아키텍처
개요
다른 데이터베이스와 비교하여 MySQL은 아키텍처가 약간 다르며 다양한 시나리오에 잘 적용할 수 있습니다. 스토리지 엔진의 아키텍처에 주로 반영되는 플러그인 스토리지 엔진 아키텍처는 쿼리 처리를 다른 시스템 작업과 데이터 저장 및 추출과 분리합니다. 이 아키텍처를 사용하면 비즈니스 요구 사항과 실제 요구 사항에 따라 적절한 스토리지 엔진을 선택할 수 있습니다.
데이터 저장 계층은 주로 원시 장치에서 실행되는 파일 시스템에 데이터를 저장하고 스토리지 엔진과의 상호 작용을 완료합니다.
스토리지 엔진 계층인 스토리지 엔진은 실제로 MySQL에서 데이터의 저장과 검색을 담당하며, 서버는 API를 통해 스토리지 엔진과 통신합니다. 다양한 스토리지 엔진에는 다양한 기능이 있으므로 실제 필요에 따라 선택할 수 있습니다. MyISAM과 InnoDB는 추후 소개 예정입니다
두 번째 계층 아키텍처는 주로 SQL 인터페이스 등 핵심 서비스 기능 대부분을 완성하고 캐시된 쿼리, SQL 분석 및 최적화를 완료하고 일부 구축 -함수에서 구현합니다. 프로시저, 함수 등과 같은 모든 교차 스토리지 엔진 기능도 이 계층에서 구현됩니다. 이 계층에서 서버는 쿼리를 구문 분석하고 해당 내부 구문 분석 트리를 생성하며 쿼리 테이블의 순서, 인덱스 사용 여부 등을 결정하는 등 해당 최적화를 완료하고 최종적으로 해당 실행 작업을 생성합니다. select 문인 경우 서버는 내부 캐시도 쿼리합니다. 캐시 공간이 충분히 크면 많은 수의 읽기 작업을 처리하는 환경에서 시스템 성능을 크게 향상시킬 수 있습니다.
최상위 계층은 로컬 양말 통신과 클라이언트/서버 도구를 기반으로 하는 대부분의 TCP/IP 유사 통신을 포함한 일부 클라이언트 및 연결 서비스입니다. 주로 일부 연결 처리, 권한 인증 및 관련 보안 솔루션을 완료합니다. 이 계층에는 인증을 통해 안전하게 접근하는 클라이언트에게 스레드를 제공하기 위해 스레드 풀(Thread Pool)이라는 개념이 도입되었습니다. SSL 기반 보안 링크도 이 계층에서 구현될 수 있습니다. 또한 서버는 안전하게 액세스하는 각 클라이언트에 대해 가지고 있는 운영 권한을 확인합니다.
-
1. 🎜>
- 2. 서비스 계층
- 3. 🎜>
4. 저장 계층
쿼리 설명
- mysql 클라이언트는 프로토콜을 통해 mysql 서버와 연결을 설정하고 쿼리 문을 보낸 다음 먼저 쿼리 캐시를 확인하고, 히트하면 반환합니다. 그렇지 않으면 문을 파싱
그러면 mysql은 기본적으로 BTREE 인덱스를 사용하며 일반적인 방향은 sql을 어떻게 다루든 적어도 현재로서는 mysql이 테이블에서 최대 하나의 인덱스만 사용한다는 것입니다.
- 문이 올바르게 작성되었는지 확인한 후 쿼리 최적화(인덱스 사용 여부 등) 등 일련의 전처리 과정이 있습니다. 스캐닝이 불가능한 조건이면 조기 종료) 쿼리 생성 Plan을 수행하면 쿼리 엔진이 시작되고 쿼리 실행이 시작되며, 기본 스토리지 엔진에서 API를 호출해 데이터를 얻어 최종적으로 클라이언트에 반환한다. 데이터를 저장하는 방법과 데이터를 검색하는 방법은 모두 스토리지 엔진과 관련이 있습니다.
5. MySQL 스토리지 엔진
보기 명령
show variables like '%storage_engine%';
mysql> show engines;
현재 MySQL에서 제공하는 스토리지 엔진이 무엇인지 확인하세요
MySQL 현재 기본 스토리지 엔진 보기:
-
기본 스토리지 엔진
MyISAM
과InnoDB
-
두 가지 엔진 비교
알리바바와 타오바오 중 어느 것을 사용할 것인가
-
Percona는 MySQL 데이터베이스 서버에 맞게 개선되었으며, MySQL에 비해 기능 및 성능이 크게 향상되었습니다. 이 버전은 부하가 높은 조건에서 InnoDB의 성능을 향상시키고, DBA에게 매우 유용한 성능 진단 도구를 제공하며, 서버 동작을 제어하기 위한 더 많은 매개변수와 명령을 제공합니다.
회사에서는
xtradb
을 완전히 대체하고 성능과 동시성을 향상시킬 수 있는innodb
이라는 새로운 스토리지 엔진을 구축했습니다. ,대부분의 Alibaba mysql 데이터베이스는 실제로 percona의 프로토타입을 사용하여 수정합니다.
[관련 권장 사항]
3.위 내용은 데이터베이스 아키텍처 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

저장된 절차는 성능을 향상시키고 복잡한 작업을 단순화하기 위해 MySQL에서 사전 컴파일 된 SQL 문입니다. 1. 성능 향상 : 첫 번째 편집 후 후속 통화를 다시 컴파일 할 필요가 없습니다. 2. 보안 향상 : 권한 제어를 통해 데이터 테이블 액세스를 제한합니다. 3. 복잡한 작업 단순화 : 여러 SQL 문을 결합하여 응용 프로그램 계층 로직을 단순화합니다.

MySQL 쿼리 캐시의 작동 원리는 선택 쿼리 결과를 저장하는 것이며 동일한 쿼리가 다시 실행되면 캐시 된 결과가 직접 반환됩니다. 1) 쿼리 캐시는 데이터베이스 읽기 성능을 향상시키고 해시 값을 통해 캐시 된 결과를 찾습니다. 2) MySQL 구성 파일에서 간단한 구성, query_cache_type 및 query_cache_size를 설정합니다. 3) SQL_NO_CACHE 키워드를 사용하여 특정 쿼리의 캐시를 비활성화하십시오. 4) 고주파 업데이트 환경에서 쿼리 캐시는 성능 병목 현상을 유발할 수 있으며 매개 변수의 모니터링 및 조정을 통해 사용하기 위해 최적화해야합니다.

MySQL이 다양한 프로젝트에서 널리 사용되는 이유에는 다음이 포함됩니다. 1. 고성능 및 확장 성, 여러 스토리지 엔진을 지원합니다. 2. 사용 및 유지 관리, 간단한 구성 및 풍부한 도구; 3. 많은 지역 사회 및 타사 도구 지원을 유치하는 풍부한 생태계; 4. 여러 운영 체제에 적합한 크로스 플랫폼 지원.

MySQL 데이터베이스를 업그레이드하는 단계에는 다음이 포함됩니다. 1. 데이터베이스 백업, 2. 현재 MySQL 서비스 중지, 3. 새 버전의 MySQL 설치, 4. 새 버전의 MySQL 서비스 시작, 5. 데이터베이스 복구. 업그레이드 프로세스 중에 호환성 문제가 필요하며 Perconatoolkit과 같은 고급 도구를 테스트 및 최적화에 사용할 수 있습니다.

MySQL 백업 정책에는 논리 백업, 물리적 백업, 증분 백업, 복제 기반 백업 및 클라우드 백업이 포함됩니다. 1. 논리 백업은 MySQLDump를 사용하여 데이터베이스 구조 및 데이터를 내보내며 소규모 데이터베이스 및 버전 마이그레이션에 적합합니다. 2. 물리적 백업은 데이터 파일을 복사하여 빠르고 포괄적이지만 데이터베이스 일관성이 필요합니다. 3. 증분 백업은 이진 로깅을 사용하여 변경 사항을 기록합니다. 이는 큰 데이터베이스에 적합합니다. 4. 복제 기반 백업은 서버에서 백업하여 생산 시스템에 미치는 영향을 줄입니다. 5. AmazonRDS와 같은 클라우드 백업은 자동화 솔루션을 제공하지만 비용과 제어를 고려해야합니다. 정책을 선택할 때 데이터베이스 크기, 가동 중지 시간 허용 오차, 복구 시간 및 복구 지점 목표를 고려해야합니다.

mysqlclusteringenhancesdatabaserobustness andscalabilitydaturedingdataacrossmultiplenodes.itusesthendbenginefordatareplicationandfaulttolerance, highavailability를 보장합니다

MySQL에서 데이터베이스 스키마 설계 최적화는 다음 단계를 통해 성능을 향상시킬 수 있습니다. 1. 인덱스 최적화 : 공통 쿼리 열에서 인덱스 생성, 쿼리의 오버 헤드 균형 및 업데이트 삽입. 2. 표 구조 최적화 : 정규화 또는 정상화를 통한 데이터 중복성을 줄이고 액세스 효율을 향상시킵니다. 3. 데이터 유형 선택 : 스토리지 공간을 줄이기 위해 Varchar 대신 Int와 같은 적절한 데이터 유형을 사용하십시오. 4. 분할 및 하위 테이블 : 대량 데이터 볼륨의 경우 파티션 및 하위 테이블을 사용하여 데이터를 분산시켜 쿼리 및 유지 보수 효율성을 향상시킵니다.

tooptimizemysqlperformance, followthesesteps : 1) 구현 properIndexingToSpeedUpqueries, 2) useExplaintoAnalyzeanDoptimizeQueryPerformance, 3) AdvertServerConfigUrationSettingstingslikeInnodb_buffer_pool_sizeandmax_connections, 4) uspartOflEtOflEtOflestoI


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
