MySQL의 권한에 대한 자세한 설명
이 글에서는 각 권한이 작동할 수 있는 트랜잭션과 작동 권한에 대한 몇 가지 일반적인 명령문을 포함하여 MySQL의 권한을 주로 소개합니다. 모든 사람에게 도움이 되기를 바랍니다.
1. 서문
많은 기사에서는 데이터베이스의 권한이 최소 권한의 원칙을 기반으로 한다고 말합니다. 이 문장 자체는 틀린 것이 아니지만 공허한 이야기입니다. 최소 권한으로 인해 이 작업은 너무 추상적이고, 필요한 권한이 무엇인지 정확히 알지 못하는 경우가 많습니다. 요즘 많은 MySQL 작업에서는 루트 계정을 사용합니다. 루트 권한을 사용하는 것이 너무 안전하지 않다는 사실을 모든 사람이 모르는 것은 아니지만, 안전하면서도 정상적인 작동을 보장하기 위해 어떤 종류의 권한을 부여해야 하는지 모르는 사람이 많습니다. 따라서 이 기사에서는 이 경우 보안 mysql을 간단하게 구성할 수 있는 방법을 고려하는 것에 대해 자세히 설명합니다. 참고: 이 글의 테스트 환경은 mysql-5.6.4
2. Mysql 권한 소개
mysql에는 권한을 제어하는 테이블이 4개 있는데, user 테이블, db 테이블, tables_priv 테이블, columns_priv 테이블이다.
mysql 권한 테이블 확인 과정은 다음과 같습니다.
1. 먼저 사용자 테이블의 Host, User, Password 3개 필드에서 연결된 IP, 사용자 이름, 비밀번호가 있는지 확인합니다. 검증이 통과되었습니다.
2. 본인인증 통과 후 user, db, tables_priv, columns_priv 순으로 권한을 부여하고 검증합니다. 즉, 먼저 전역 권한 테이블 user를 확인하세요. user의 해당 권한이 Y이면 이 사용자의 모든 데이터베이스에 대한 권한은 Y이고, N이면 db, tables_priv, columns_priv가 더 이상 확인되지 않습니다. db 테이블 사용자에 해당하는 특정 데이터베이스, db에서 Y 권한을 얻습니다. db의 권한이 N인 경우 tables_priv에서 데이터베이스에 해당하는 특정 테이블을 확인하고 테이블에서 Y 권한을 얻습니다. 곧.
3. mysql에는 어떤 권한이 있나요?
4. 데이터베이스 수준의 권한 분석(db 테이블)
5. MySQL 보안 구성 계획
1 제한 mysql 포트에 접속하는 IP
Windows는 Windows 방화벽이나 ipsec을 통해 제한할 수 있고, Linux는 iptables를 통해 제한할 수 있습니다.
2 mysql 포트 수정
Windows에서는 구성 파일 my.ini를 수정하고, Linux에서는 구성 파일 my.cnf를 수정하면 됩니다.
3 모든 사용자에 대해 강력한 비밀번호를 설정하고 해당 계정의 액세스 IP를 엄격하게 지정합니다.
mysql에서는 사용자의 액세스 IP를 사용자 테이블에서 지정할 수 있습니다.
4 루트 권한이 있는 계정 처리
설정하는 것이 좋습니다. 루트 계정에 대한 강력한 비밀번호, 로컬 로그인만 허용하도록 지정
5 로그 처리
필요한 경우 쿼리 로그를 켤 수 있으며 쿼리 로그에는 로그인 및 쿼리 문이 기록됩니다.
6 mysql 프로세스 실행 계정
Windows에서 mysql 계정을 실행하기 위해 로컬 시스템을 사용하는 것은 금지되어 있습니다. 네트워크 서비스를 사용하거나 직접 새 계정을 만드는 것을 고려할 수 있지만 mysql 프로그램이 있는 디렉터리에 대한 읽기 권한을 부여해야 합니다. 데이터 디렉터리를 찾아 읽고 쓰기 권한을 부여합니다. Linux에서는 새 mysql 계정을 만들고 설치 중에 mysql 계정으로 실행할 mysql을 지정하여 프로그램이 있는 디렉터리에 읽기 권한을 부여하고 해당 디렉터리에 읽기 및 쓰기 권한을 부여합니다. 데이터가 위치한 디렉토리.
7 mysql 실행 계정에 대한 디스크 권한
1) mysql 실행 계정에는 프로그램이 있는 디렉터리에 대한 읽기 권한과 데이터 디렉터리에 대한 읽기 및 쓰기 권한이 부여되어야 합니다.
2) 쓰기 및 실행 다른 디렉토리, 특히 웹사이트에 대한 권한은 허용되지 않습니다.
3) cmd, sh 및 기타 프로그램에 대한 mysql 실행 계정의 실행 권한을 취소합니다.
8 웹사이트에서 사용하는 mysql 계정을 처리하는 방법
새 계정을 만들고 해당 계정에 사용된 데이터베이스의 모든 권한을 부여하세요. 이를 통해 웹사이트가 해당 데이터베이스를 모두 운영할 수 있을 뿐만 아니라 해당 계정이 과도한 권한으로 인해 보안에 영향을 미치지 않도록 할 수 있습니다. 단일 데이터베이스에 대한 모든 권한이 부여된 계정에는 슈퍼, 프로세스, 파일 및 기타 관리 권한이 없습니다. 물론, 내 웹사이트에서 어떤 권한이 필요한지 명확하게 알 수 있다면 더 많은 권한을 부여하지 않는 것이 좋습니다. 게시자는 웹사이트에 어떤 권한이 필요한지 모르는 경우가 많기 때문에 위 구성만 권장합니다. 그리고 제가 말하는 것은 일반적인 것입니다. 특히, 머신이 많지 않고 소수만 있을 때, 구체적인 제안사항은 위의 표를 참조하시기 바랍니다.
9 쓸모없는 데이터베이스 삭제
테스트 데이터베이스에는 새로 생성된 계정에 대한 기본 권한이 있습니다
6. mysql 침입 및 권한 상승 분석 및 예방 조치
일반적으로 mysql 권한을 상승시키는 방법에는 여러 가지가 있습니다.
1 udf 권한 높이기
이 방법의 핵심은 dll 파일을 가져오는 것입니다. 개인적으로 프로세스 계정의 디렉터리에 대한 쓰기 권한이 합리적으로 제어되는 한 dll 파일을 가져오는 것을 방지할 수 있다고 생각합니다. 프로세스 계정의 권한이 충분히 낮으면 계정 추가 등 위험도가 높은 작업을 수행할 수 없습니다.
2 시작 파일 쓰기
이 방법은 위와 동일하지만 디렉터리에 대한 프로세스 계정의 쓰기 권한을 합리적으로 제어해야 합니다.
3 루트 계정이 유출된 경우
루트 계정이 제대로 관리되지 않고 루트 계정이 침해된 경우 데이터베이스 정보는 절대 보장되지 않습니다. 그러나 프로세스 계정의 권한과 디스크에 대한 권한이 제어되는 경우 서버는 계정이 손상되지 않도록 계속 보장할 수 있습니다.
4 일반 계정 유출 (위에서 언급했듯이 특정 라이브러리에 대한 모든 권한만 가진 계정)
여기서 언급한 일반 계정은 웹 사이트에서 사용하는 계정을 의미하며, 제가 직접 제공하는 것이 더 편리한 방법입니다. 특정 라이브러리의 모든 권한. 계정 유출에는 웹 서버가 손상된 후 데이터베이스 계정 비밀번호에 대한 주입 및 직접 액세스가 포함됩니다.
이때 해당 데이터베이스 데이터는 보호되지 않으나, 다른 데이터베이스를 위협하지는 않습니다. 또한 여기의 일반 계정에는 파일 권한이 없으며 파일을 디스크로 내보낼 수 없습니다. 물론 현재 프로세스 계정의 권한은 여전히 엄격하게 제어됩니다.
일반 계정에 어떤 권한이 부여되는지는 위 표에서 확인할 수 있습니다. 모든 권한을 라이브러리에 직접 부여하는 것은 실제로 불가능합니다.
7. 보안 구성에 필요한 공통 명령
1. 새 사용자를 생성하고 해당 데이터베이스에 권한을 부여합니다.
grant select,insert,update,delete,create,drop privileges on database.* to user@localhost identified by 'passwd';
grant all privileges on database.* to user@localhost identified by 'passwd';
2. 권한 새로 고침
flush privileges;
3. 권한 표시
show grants;
4. 인증 제거
revoke delete on *.* from 'jack'@'localhost';
5. 사용자 삭제
drop user 'jack'@'localhost';
6. 사용자 이름 변경
rename user 'jack'@'%' to 'jim'@'%';
7. 사용자 비밀번호 변경
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
8. 데이터베이스 삭제 삭제 del r
drop database test;
위 내용은 MySQL의 권한에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 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)

뜨거운 주제











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

다음 단계를 통해 phpmyadmin을 열 수 있습니다. 1. 웹 사이트 제어판에 로그인; 2. phpmyadmin 아이콘을 찾고 클릭하십시오. 3. MySQL 자격 증명을 입력하십시오. 4. "로그인"을 클릭하십시오.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 주로 데이터를 신속하고 안정적으로 저장하고 검색하는 데 사용됩니다. 작업 원칙에는 클라이언트 요청, 쿼리 해상도, 쿼리 실행 및 반환 결과가 포함됩니다. 사용의 예로는 테이블 작성, 데이터 삽입 및 쿼리 및 조인 작업과 같은 고급 기능이 포함됩니다. 일반적인 오류에는 SQL 구문, 데이터 유형 및 권한이 포함되며 최적화 제안에는 인덱스 사용, 최적화 된 쿼리 및 테이블 분할이 포함됩니다.

MySQL은 성능, 신뢰성, 사용 편의성 및 커뮤니티 지원을 위해 선택됩니다. 1.MYSQL은 효율적인 데이터 저장 및 검색 기능을 제공하여 여러 데이터 유형 및 고급 쿼리 작업을 지원합니다. 2. 고객-서버 아키텍처 및 다중 스토리지 엔진을 채택하여 트랜잭션 및 쿼리 최적화를 지원합니다. 3. 사용하기 쉽고 다양한 운영 체제 및 프로그래밍 언어를 지원합니다. 4. 강력한 지역 사회 지원을 받고 풍부한 자원과 솔루션을 제공합니다.

Redis는 단일 스레드 아키텍처를 사용하여 고성능, 단순성 및 일관성을 제공합니다. 동시성을 향상시키기 위해 I/O 멀티플렉싱, 이벤트 루프, 비 블로킹 I/O 및 공유 메모리를 사용하지만 동시성 제한 제한, 단일 고장 지점 및 쓰기 집약적 인 워크로드에 부적합한 제한이 있습니다.

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

데이터베이스 및 프로그래밍에서 MySQL의 위치는 매우 중요합니다. 다양한 응용 프로그램 시나리오에서 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) MySQL은 웹, 모바일 및 엔터프라이즈 레벨 시스템을 지원하는 효율적인 데이터 저장, 조직 및 검색 기능을 제공합니다. 2) 클라이언트 서버 아키텍처를 사용하고 여러 스토리지 엔진 및 인덱스 최적화를 지원합니다. 3) 기본 사용에는 테이블 작성 및 데이터 삽입이 포함되며 고급 사용에는 다중 테이블 조인 및 복잡한 쿼리가 포함됩니다. 4) SQL 구문 오류 및 성능 문제와 같은 자주 묻는 질문은 설명 명령 및 느린 쿼리 로그를 통해 디버깅 할 수 있습니다. 5) 성능 최적화 방법에는 인덱스의 합리적인 사용, 최적화 된 쿼리 및 캐시 사용이 포함됩니다. 모범 사례에는 거래 사용 및 준비된 체계가 포함됩니다

Redis 데이터베이스의 효과적인 모니터링은 최적의 성능을 유지하고 잠재적 인 병목 현상을 식별하며 전반적인 시스템 신뢰성을 보장하는 데 중요합니다. Redis Exporter Service는 Prometheus를 사용하여 Redis 데이터베이스를 모니터링하도록 설계된 강력한 유틸리티입니다. 이 튜토리얼은 Redis Exporter Service의 전체 설정 및 구성을 안내하여 모니터링 솔루션을 원활하게 구축 할 수 있도록합니다. 이 자습서를 연구하면 완전히 작동하는 모니터링 설정을 달성 할 수 있습니다.
