배경
얼마 전부터 ambari 배포를 배우기 시작했는데, mysql을 설치하다가 몇 가지 문제가 발생했습니다. 나중에 쉽게 mysql을 설치할 수 있도록 기록해 두세요.
Centos 7.2 Mysql 5.7.13 설치
먼저 다음과 같이 yum을 설치합니다.
tar xvf yum-x.x.x.tar .gz
cd yum-x.x.x
yummain.py install yum
위는 메모리에서의 일반적인 과정입니다.
1. mysql repo 소스 다운로드
CentOS 7.2의 yum 소스에는 기본적으로 mysql이 없습니다
2. mysql57-community-release-el7-8.noarch.rpm 패키지를 설치합니다
rpm <span class="hljs-attribute">-ivh mysql57<span class="hljs-attribute">-community<span class="hljs-attribute">-release<span class="hljs-attribute">-el7<span class="hljs-subst">-<span class="hljs-number">8.noarch<span class="hljs-built_in">.rpm <span class="hljs-subst">--nodeps <span class="hljs-subst">--<a href="http://www.php.cn/wiki/125.html" target="_blank">for</a>ce</span></span></span></span></span></span></span></span></span>
이 패키지를 설치하면 두 개의 mysql yum 저장소 소스가 제공됩니다: /etc/yum.repos.d/mysql-community.repo 및 /etc/yum.repos.d/mysql-community-source.repo
3. mysql 설치
yum install mysql-server
-
4. mysql 서비스 시작
MySQL 서비스가 설치되었는지 확인하세요. 시작됨
service mysqld status
시작되지 않은 경우 다음 명령을 사용하여 서비스를 시작할 수 있습니다
<code class="hljs sql has-numbering">service mysqld start<br/>or<br/>systemctl <span class="hljs-operator"><span class="hljs-keyword">start mysqld</span></span></code>
5. 루트 비밀번호 재설정
MySQL5.7은 이전 버전과 같이 빈 비밀번호 대신 설치 후 루트 사용자에 대해 임의의 비밀번호를 생성합니다.
루트 로그인 비밀번호는 안전 모드에서 변경하거나 임의의 비밀번호로 로그인하여 비밀번호를 변경할 수 있습니다. 아래에서 사용되는 무작위 비밀번호 방법은
MySQL이 루트 사용자를 위해 생성한 무작위 비밀번호는 mysqld.log 파일에서 확인할 수 있습니다:
<span class="hljs-keyword">grep <span class="hljs-string">'temporary password' /var/<span class="hljs-keyword">log/mysqld.<span class="hljs-keyword">log</span></span></span></span>
루트 사용자 비밀번호 변경: (MySQL의 비밀번호 정책은 비교적 복잡하므로 비밀번호가 너무 단순하면 거부됩니다.)
mysql <span class="hljs-attribute">-u root <span class="hljs-attribute">-p mysql<span class="hljs-subst">> Enter password: (输入刚才查询到的随机密码) mysql<span class="hljs-subst">> <span class="hljs-built_in">SET PASSWORD FOR <span class="hljs-string">'root'@<span class="hljs-string">'localhost'<span class="hljs-subst">= <span class="hljs-string">"Root-123"; mysql<span class="hljs-subst">> exit</span></span></span></span></span></span></span></span></span></span>
새 루트 비밀번호로 로그인:
mysql <span class="hljs-attribute">-u root <span class="hljs-attribute">-pRoot<span class="hljs-subst">-<span class="hljs-number">123</span></span></span></span>
위 방법으로 로그인할 수 없는 경우 수정하려면 다음 안전 모드를 사용하여 루트를 수정할 수 있습니다:
关闭服务 systemctl stop mysqld.service vi /etc/my.cnf mysqld下面添加skip-grant-tables 保存退出启动服务 systemctl start mysqld.service mysql -u root 不用密码直接回车 use mysql update user set authentication_string=password('Root-123') where User='root' and Host='localhost'; flush privileges; exit; vi /etc/my.cnf 把 skip-grant-tables 一句删除保存退出重启mysql服务 systemctl restart mysqld.service 再次登录即可 mysql -u root -pRoot-123如果进行操作出现下面的提示: You must reset your password using ALTER USER statement before executing this statement. 就再设置一遍密码 set password = password('Root-123');
6. 포트 3306을 엽니다
사용자 이름 루트 비밀번호 Root-123456을 허용하여 mysql에 연결합니다. 모든 호스트의 서버
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root-123456' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>exit;
-
방화벽 mysql 3306 포트에 대한 외부 액세스 활성화
firewall-cmd --zone=public --add- port=3306/tcp --permanent
firewall-cmd --reload
<span class="hljs-comment"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-comment"><span class="hljs-literal"><span class="hljs-literal"><span class="hljs-comment">总结 </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
위에서 자세히 MySQL을 구성하고 systemctl restart mysqld.service를 사용하여 시작할 수 있습니다. mysql의 상태를 보려면 (ps -ef|grep mysql) 명령을 사용하여 현재 구성 및 상태를 표시하십시오. 이제 막 배우기 시작했는데 아직도 이해하지 못하는 부분이 많습니다. 조언을 해주셨으면 좋겠습니다.
위 내용은 Linux 시스템에서 MySQL을 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

InnoDB는 Redologs 및 Undologs를 사용하여 데이터 일관성과 신뢰성을 보장합니다. 1. Redologs는 사고 복구 및 거래 지속성을 보장하기 위해 데이터 페이지 수정을 기록합니다. 2. 결점은 원래 데이터 값을 기록하고 트랜잭션 롤백 및 MVCC를 지원합니다.

설명 명령에 대한 주요 메트릭에는 유형, 키, 행 및 추가가 포함됩니다. 1) 유형은 쿼리의 액세스 유형을 반영합니다. 값이 높을수록 Const와 같은 효율이 높아집니다. 2) 키는 사용 된 인덱스를 표시하고 NULL은 인덱스가 없음을 나타냅니다. 3) 행은 스캔 한 행의 수를 추정하여 쿼리 성능에 영향을 미칩니다. 4) Extra는 최적화해야한다는 Filesort 프롬프트 사용과 같은 추가 정보를 제공합니다.

Temporary를 사용하면 MySQL 쿼리에 임시 테이블을 생성해야 할 필요성이 있으며, 이는 별개의, 그룹 비 또는 비 인덱스 열을 사용하여 순서대로 발견됩니다. 인덱스 발생을 피하고 쿼리를 다시 작성하고 쿼리 성능을 향상시킬 수 있습니다. 구체적으로, 설명 출력에 사용되는 경우, MySQL은 쿼리를 처리하기 위해 임시 테이블을 만들어야 함을 의미합니다. 이것은 일반적으로 다음과 같은 경우에 발생합니다. 1) 별개 또는 그룹을 사용할 때 중복 제거 또는 그룹화; 2) OrderBy가 비 인덱스 열이 포함되어있을 때 정렬하십시오. 3) 복잡한 하위 쿼리 또는 조인 작업을 사용하십시오. 최적화 방법은 다음과 같습니다. 1) Orderby 및 GroupB

MySQL/InnoDB는 4 개의 트랜잭션 격리 수준을 지원합니다. Readuncommitted, ReadCommitted, ReturableRead 및 Serializable. 1. READUCMITTED는 커밋되지 않은 데이터를 읽을 수 있으므로 더러운 판독 값을 유발할 수 있습니다. 2. ReadCommitted는 더러운 읽기를 피하지만 반복 할 수없는 독서가 발생할 수 있습니다. 3. RepeatableRead는 더러운 읽기와 반복 할 수없는 독서를 피하는 기본 레벨이지만 팬텀 독서가 발생할 수 있습니다. 4. 직렬화 가능한 것은 모든 동시성 문제를 피하지만 동시성을 줄입니다. 적절한 격리 수준을 선택하려면 균형 잡힌 데이터 일관성 및 성능 요구 사항이 필요합니다.

MySQL은 웹 응용 프로그램 및 컨텐츠 관리 시스템에 적합하며 오픈 소스, 고성능 및 사용 편의성에 인기가 있습니다. 1) PostgreSQL과 비교하여 MySQL은 간단한 쿼리 및 높은 동시 읽기 작업에서 더 잘 수행합니다. 2) Oracle과 비교할 때 MySQL은 오픈 소스와 저렴한 비용으로 인해 중소 기업에서 더 인기가 있습니다. 3) Microsoft SQL Server와 비교하여 MySQL은 크로스 플랫폼 응용 프로그램에 더 적합합니다. 4) MongoDB와 달리 MySQL은 구조화 된 데이터 및 트랜잭션 처리에 더 적합합니다.

MySQL Index Cardinality는 쿼리 성능에 중대한 영향을 미칩니다. 1. 높은 카디널리티 인덱스는 데이터 범위를보다 효과적으로 좁히고 쿼리 효율성을 향상시킬 수 있습니다. 2. 낮은 카디널리티 인덱스는 전체 테이블 스캔으로 이어질 수 있으며 쿼리 성능을 줄일 수 있습니다. 3. 관절 지수에서는 쿼리를 최적화하기 위해 높은 카디널리티 시퀀스를 앞에 놓아야합니다.

MySQL 학습 경로에는 기본 지식, 핵심 개념, 사용 예제 및 최적화 기술이 포함됩니다. 1) 테이블, 행, 열 및 SQL 쿼리와 같은 기본 개념을 이해합니다. 2) MySQL의 정의, 작업 원칙 및 장점을 배우십시오. 3) 인덱스 및 저장 절차와 같은 기본 CRUD 작업 및 고급 사용량을 마스터합니다. 4) 인덱스의 합리적 사용 및 최적화 쿼리와 같은 일반적인 오류 디버깅 및 성능 최적화 제안에 익숙합니다. 이 단계를 통해 MySQL의 사용 및 최적화를 완전히 파악할 수 있습니다.

MySQL의 실제 응용 프로그램에는 기본 데이터베이스 설계 및 복잡한 쿼리 최적화가 포함됩니다. 1) 기본 사용 : 사용자 정보 삽입, 쿼리, 업데이트 및 삭제와 같은 사용자 데이터를 저장하고 관리하는 데 사용됩니다. 2) 고급 사용 : 전자 상거래 플랫폼의 주문 및 재고 관리와 같은 복잡한 비즈니스 로직을 처리합니다. 3) 성능 최적화 : 인덱스, 파티션 테이블 및 쿼리 캐시를 사용하여 합리적으로 성능을 향상시킵니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

WebStorm Mac 버전
유용한 JavaScript 개발 도구
