MySql 설치(yum)
1. mysql repolist 추가
https://dev.mysql.com/downloads/
위 링크에서 os에 맞춰 선택 후
다운로드 링크 주소 복사
sudo yum install -y [다운로드 링크]
2. 설치 및 설치 확인
sudo yum install -y mysql-server
sudo mysqld -V
※GPG 키 참조 오류
gpg키 에러 나올 경우 gpg키를 추가 시켜준다.
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3. 실행
sudo systemctl enable mysqld && systemctl start mysqld && systemctl status mysqld
4. 최초설치시 임시 비밀번호 확인
sudo grep 'temporary password' /var/log/mysqld.log
5. root 비밀번호 변경
# mysql -u root -p
Enter password: (임시 비밀번호 입력)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운비밀번호';
// 새로운 비밀번호가 정책에 맞지 않을경우 설정 안될 수 있음
// 8자리 이상, 숫자, 특수문자, 대소문자 포함, 유저이름포함X (root키워드 금지)
6. 비밀번호 정책 확인 및 변경
// 정책 확인
mysql > SHOW VARIABLES LIKE 'validate_password%';
// 규칙 변경예시
mysql > SET GLOBAL validate_password.length = 6;
mysql > SET GLOBAL validate_password.mixed_case_count = 0;
7. 유저 추가 및 권한 부여
////유저 추가
mysql > create user 'username'@'localhost' identified by 'passwd'
// 만약 phpMyAdmin등을 이용하기 위해 외부 접속이 필요 할 시 접속할 계정의 localhost 부분을 변경
// 예시
mysql > create user 'root'@'%' identified by 'passwd'
mysql > create user 'centos'@'192.168.0.%' identified by 'passwd'
// 만약 phpMyAdmin을 이용하고 mysql버전이 8.0 이상이면 인증 플러그인을 변경해야한다.
https://www.skynats.com/blog/mysql-error-the-server-requested-authentication-method-unknown-to-the-client/
////권한 부여
mysql > grant all privileges on *.* to 'username'@'localhost';
mysql > grant all privileges on DB이름.권한이름 to 'username'@'localhost';
// 적용
mysql > flush privileges;
// 확인
mysql > use mysql
mysql > select host, user, plugin, authentication_string from user; (접근 권한, 암호화 방식, 암호 확인)
MySql 설정파일 위치
# mysql --help
위 명령어 이후 'Default options are read from the following files in the given order:' 아랫줄에 있는 경로를 순서대로 참조함
/etc/my.cnf
/etc/my.cnf.d/
MySql 문자셋 변경
위 설정 파일을 텍스트 에디터로 열어서
[client]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init-connect='SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci
두 곳을 수정해준 뒤에 $service mysqld restart 를 통해 재부팅 시켜준다.
MySql 외부 접속 허용 하기
# mysql -p
> use mysql
> select host, user, plugin, authentication_string from user; (접근 권한, 암호화 방식, 암호 확인)
> grant all privileges on *.* to 'root'@'192.168.1.%'; (계정 없을 시 생성 해야함)
> flush privileges; (설정 적용)
php & phpMyAdmin 설치 & 아파치 설치
sudo yum install -y php phpmyadmin httpd
※ php와 phpmyadmin간의 버전차이로 인해 정상작동이 안되는 경우가 있다. 그 경우 wget으로 수동 설치
php 설치 : https://engineeringcode.tistory.com/94
참조 : https://hoyeong-rithm.tistory.com/52
공식 다운로드 : https://www.phpmyadmin.net/downloads/
※ 만약 다른 버전 아파치 서버를 원하는 경우 아래 참조
https://library.gabia.com/contents/infrahosting/3513/
phpmyadmin 설정파일 위치
/etc/httpd/conf.d/phpMyAdmin.comf
phpmyadmin 외부 접속 허용 하기
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
# Require ip 허용할 ip주소
Require ip 127.0.0.1
Require ip ::1
# ip 상관 없이 접근하려면
# Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
# Allow from 허용할 ip주소
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
/etc/httpd/conf.d/phpMyAdmin.comf 의 해당 위치 수정
수정 후 $service httpd restart 로 서비스 재시작.
서버 시간 설정
필요 패키지 (rdate)
sudo yum install rdate
시간 확인 : $date
시간 동기화 : $rdate -s [서버 도메인]
시간대 변경 : $timedatectl set-timezone Asia/Seoul
'메모장 > 리눅스' 카테고리의 다른 글
[Linux] 대역폭 측정 iperf3 (0) | 2022.04.14 |
---|---|
[Linux/Mysql] Linux Mysql 백업 (0) | 2021.06.25 |
[Linux] SSH Hostname 등록하기 (Hostname 설정) (0) | 2021.06.09 |
[Linux/Shell] 리눅스 bash shell 스크립트 (0) | 2021.04.21 |
[Linux] message queue 설정법과 최대 길이 (0) | 2021.03.10 |