Centos7.x 아래에 MySQL5.7 설치 (yum 설치)

MariaDB는 MySQL의 분기 인 CentOS에 기본적으로 설치되지만 필요에 따라 시스템에 MySQL을 설치해야하며 설치가 완료된 후 MariaDB를 직접 덮어 쓸 수 있습니다.

1. mysql 설치

(yum 소스에는 mysql-server가 없기 때문에 공식 웹 사이트로 이동하여 다운로드해야합니다. 여기서는 wget 명령을 사용하여 직접 가져옵니다)

wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2. mysql의 의존성 패키지 설치

yum -y mysql57-community-release-el7-10.noarch.rpm 설치

또는 rpm -ivh mysql57-community-release-el7-10.noarch.rpm

3. mysql 데이터베이스 설치

yum -y mysql-community-server 설치

4. 설치를 완료하고 mysql을 다시 시작합니다.

systemctl restart mysqld.service

이때 MySQL이 정상적으로 실행되기 시작했지만 MySQL에 들어가려면 먼저 루트 사용자의 비밀번호를 찾아야합니다. 다음을 사용하여 로그 파일에서 비밀번호를 찾을 수 있습니다. 다음 명령 :
grep "password"/ var / log /mysqld.log

참고 : 앞의 공백은 비밀번호가 아닙니다.

5. 위의 비밀번호를 복사하여 붙여 넣어 데이터베이스에 들어갑니다.

mysql -uroot -p

초기 암호를 입력합니다. MySQL은 암호 명령을 수정하기 위해 데이터베이스를 작동하기 전에 기본적으로 암호를 수정해야하므로 지금은 아무것도 할 수 없습니다.
ALTER USER'root '@'localhost 'IDENTIFIED BY' 123 ';

6. 오류 해결

위의 오류는 새로 설정된 암호가 너무 간단하다는 것입니다. 해결책은 다음과 같습니다.
// 먼저 기본 암호 형식의 복잡성을 변경합니다.
ALTER USER'root '@'localhost 'IDENTIFIED BY'Xiejinming @ 12';

7. MySQL의 전체 초기 비밀번호 규칙보기

MySQL의 전체 초기 비밀번호 규칙을 보려면 ALTER USER 명령 (SHOW VARIABLES LIKE'validate_password % ';)을 사용하여 비밀번호를 변경해야한다는 전제가 있습니다.


Centos7에서 MySQL5.7을 설치하는 방법
참고 : 비밀번호의 길이는 validate_password_length에 의해 결정됩니다. validate_password_length의 계산 공식은 다음과 같습니다. validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

8. MySQL 기본 정책 및 암호 길이 수정

1) 비밀번호 수정 정책
현재 비밀번호가 너무 복잡해서 나중에 실험하기에는 편리하지 않기 때문에 다음 두 가지 방법으로 명령을 사용하여 비밀번호 정책을 수정할 수 있습니다.

다음 두 가지 방법은 임의로 실행하는 데 사용되는
, MySQL은> 설정 글로벌 validate_password_policy = 0

의 MySQL> 설정 글로벌 validate_password_policy = LOW 단계;

참고 : 네 암호 정책이있다 :
1. OFF (폐쇄) 2. LOW (로우) 3. MEDIUM (중간 ) 4. 강함 (강함)

2) 비밀번호 길이 수정
위의 정책을 변경 한 후 길이 를 변경합니다. mysql> SET GLOBAL validate_password_length = 6;

9. 암호 규칙보기

모든 변경이 완료된 후 암호 규칙을 확인하십시오 mysql> SHOW VARIABLES LIKE'validate_password % ';

10. 간단한 비밀번호로 변경

다음으로, 복잡한 암호를 간단한 4 자리 암호로 변경할 수 있습니다
.ALTER USER'root '@'localhost 'IDENTIFIED BY'123456 ';

11. 설치 소스의 자동 업데이트 제거

Yum 리포지토리가 설치되어 있기 때문에 현재 데이터베이스가 설치 되었기 때문에 모든 yum 작업이 향후 자동으로 업데이트되므로 현재 문제가 있습니다.
yum remove mysql57-community-release.noarch

12. 데이터베이스 초기화

mysql_secure_installation


참고 : 초기화 명령을 실행 한 후 데이터베이스 루트 사용자 암호를 입력 한 다음 기본적으로 위의 스크린 샷과 같이 Enter 키를 끝까지 눌러야합니다. (위 스크린 샷 질문은 실제 상황에 따라 선택할 수도 있습니다.)

13. 원격 도구가 연결할 수 있도록 권한 부여

1) mysql 데이터베이스로 전환 : use mysql;

2) 모든 호스트가 루트 계정과 암호 123456을 사용하여 로그인 할 수 있도록 권한을 부여하십시오.

GRANT 옵션으로 '123456'으로 식별되는 'root'@ '%'에 *. *의 모든 권한을 부여합니다.

3) 새 권한 새로 고침 : 권한 플러시;

4) 사용자보기

사용자로부터 user, host, authentication_string 密码 선택;

5) 방화벽 끄기

보기 | 닫기 | 방화벽 시스템 열기 ctl 상태 | 중지 | firewalld.service 시작

방화벽을 영구적으로 비활성화 : systemctl disable firewalld.service

6) Navicat 도구를 사용하여 링크 테스트

14. 대소 문자를 무시하도록 데이터베이스를 설정합니다 (일부 프로젝트는 무시해야합니다. 그렇지 않으면 프로젝트가 시작되지 않습니다)

Linux 시스템의 기본 설정에서 :

数据库名与表名是严格区分大小写的;
列名与列的别名在所有的情况下均是忽略大小写的;
变量名也是严格区分大小写的;

Windows 시스템의 기본 설정에서 :

都不区分大小写

lower_case_table_names의 값을 확인하십시오. 0은 대소 문자를 구분하고 1은 대소 문자를 구분하지 않음을 의미합니다.

'% case %'와 같은 변수 표시;

mysql> SHOW VARIABLES LIKE '%case%';
+------------------------------------+-------+
| Variable_name                      | Value |
+------------------------------------+-------+
| lower_case_file_system             | OFF   |
| lower_case_table_names             | 0     |
| validate_password_mixed_case_count | 1     |
+------------------------------------+-------+
3 rows in set (0.01 sec)

mysql> 

해결책:

1) vi /etc/mysql/my.cnf를 사용하여 mysql 구성 파일을 엽니 다.

2) [mysqld] 아래에 다음 코드를 추가합니다. lower_case_table_names = 1

참고 : mysqld 노드 아래에 배치해야하며 다른 노드 아래에 배치하면 효과가 없습니다 !!!!

방법에 따라 다음 구성을 추가 할 수 있습니다.

character_set_server = utf8

# 새 데이터 테이블의 기본 스토리지 엔진

default-storage-engine = INNODB

max_allowed_packet = 128M

max_connections = 1000

lower_case_table_names = 1

3) 설정 후 데이터베이스 저장 및 재시작 : systemctl restart mysqld.service

4) lower_case_table_names의 값을 다시 확인하십시오.

'% case %'와 같은 변수 표시;

mysql> SHOW VARIABLES LIKE '%case%';
+------------------------------------+-------+
| Variable_name                      | Value |
+------------------------------------+-------+
| lower_case_file_system             | OFF   |
| lower_case_table_names             | 1     |
| validate_password_mixed_case_count | 1     |
+------------------------------------+-------+
3 rows in set (0.01 sec)

mysql> 

 

추천

출처blog.csdn.net/weixin_42162451/article/details/115030822