개인 서버의 mysql을 8.x로 버전업하면서 간략하게 정리한 내용입니다.
메모 목적으로 정리한거라서 생략된 부분이 조금 있습니다.
#설치가능한 MySQL 8.0 저장소 확인
https://dev.mysql.com/downloads/repo/yum/
#MySQL 8.0 저장소 설치
yum install https://dev.mysql.com/get/mysql80-community-release-el7-9.noarch.rpm
# MySQL 8.0을 설치
yum install mysql-server
#설치된 MySQL 버전 확인
mysqld -V
#MySQL 시작 및 자동 실행 등록
systemctl start mysqld
systemctl enable mysqld
#초기 비밀번호 확인
grep 'temporary password' /var/log/mysqld.log
#비밀번호 변경(위 초기 비밀번호 확인 후 해당 값으로 접속)
mysql -u root -p 로 mysql 콘솔 접속 후
아래 명령어로 비밀번호 변경
ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호';
#아래는 필요시 mysql 서버 설정 수정 사항들
vi /etc/my.cnf 후 아래 내용을 [mysqld] 영역에 추가
bind-address = 0.0.0.0
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect=SET collation_connection = utf8mb4_unicode_ci
init_connect=SET NAMES utf8mb4
이후 아래 명령어로 mysql서버 재 시작
systemctl restart mysqld
#계정 생성 및 권한 추가 관련 기타
# MySQL 8에서는 5와 다르게 계정 생성과 DB 권한 부여를 각각 해줘야함
# 참고로 기존 5버전과 동일한 방식으로 계정을 만들고 싶으면 'mysql_native_password' 방식으로 만들어야함. 잘못하면 로그인 힘듬
mysql> create user '계정ID'@'%' identified by '비밀번호' ;
mysql> grant all privileges on DB이름.* to '계정ID'@'%' with grant option;
mysql> flush privileges;
# 기존방식
mysql> create user '계정ID'@'%' identified WITH mysql_native_password by '비밀번호' ;
#샘플
create user '계정'@'%' identified by '암호블라블라' ;
grant all privileges on test_db.* to '계정'@'%' with grant option;
flush privileges;
#참고. MySQL에서 caching_sha2_password 을 mysql_native_password으로 플러그인을 변경
ALTER user '유저명'@'localhost' IDENTIFIED WITH mysql_native_password by '비밀번호';
#참고: root 계정을 모든 IP에서 접근허용 처리(보안 조심)
GRANT ALL PRIVILEGES ON *.* to 'root'@'%';
#결과 확인 용 쿼리
#SELECT Host,User,plugin,authentication_string FROM mysql.user;
mysql> use mysql 후에 아래 명령어로 확인
mysql> SELECT host, user, plugin, LEFT(authentication_string,15) AS password, password_last_changed FROM user ;
#기타: virtualbox 등에 설치해서 방화벽으로 차단되고 있다면 내리거나 허용
# 방화벽 중지
systemctl disable firewalld
systemctl stop firewalld
'DB > Mysql' 카테고리의 다른 글
mysql 8.x 기준으로 uuid를 pk로 사용해서 저장 (0) | 2024.02.18 |
---|---|
글로벌 서비스 개발시, Mysql 날짜/시간에 처리를 위한 데이터타입 확인 (0) | 2021.11.17 |
Mysql n-gram을 이용한 검색 (2) | 2021.08.26 |
Mysql full text 검색(전문 검색) 정리 (0) | 2019.05.06 |
Mysql rules(with java) (0) | 2018.12.28 |