1. MySQL 설치하기
MySQL 을 yum 명령을 사용하여 설치하는 것은, 사실은 MariaDB 를 설치하는 것이다. 설치를 위하여 먼저 MySQL패키지 정보를 제공하는 MySQL community Yum Repository 사이트를 방문해야 한다.아래와 명령으로 먼저 레파지토리를 추가한다.
1 | #sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm |
이제 MySQL 서버를 설치한다.
1 | # yum install mysql-server |
2. MySQL 시작하기
MySQL 서버는 다음 명령으로 시작한다.1 | # systemctl start mysqld |
1 | # systemctl status mysql |
1 |
1 | # grep 'temporary password' /var/log/mysqld.log |
3. MySQL 설정
MySQL 기본적으로 조금은 안전하지 않는 디폴트 설정(원격 )을 위한 보안 관련 옵션들 설정을 위한 보안 스크립트를 제공하고 있는데 아래와 같은 명령으로 실행할 수 있다.
/usr/bin/mysql_secure_installation
스크립트를 실행하면 새로운 root 비밀번호 설정, 원격 익명 사용자 계정 제거, 로컬 이외의 곳에서 root접근 비활성, 데트트 데이터베이스 제거를 선택할 수 있다. 비밀번호는 12자리 이며 1이상의 대문자 + 1개이상의 소문자 + 1개이상의 숫자 + 1개이상의 특수문자조합으로 생성해야 한다.
자세한 건 다음 링크를 참고한다.
MySQL Reference Manual
추가로 다음의 명령을 통하여 원격 접속을 위한 방화벽을 설정한다.
1 | #firewall-cmd --zone=public --permanent --add-service=mysql |
4. MySQL 테스트 하기
설치 및 설치 정보를 확인하기 위하여 mysqladmin 도구를 사용하여 접속한다.1 | #mysqladmin -u root -p version |
다음과 유사한 메시지를 보게된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mysqladmin Ver 8.0.13 for Linux on x86_64 (MySQL Community Server - GPL) Copyright (c) 2000, 2018, Oracle and /or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and /or its affiliates. Other names may be trademarks of their respective owners. Server version 8.0.13 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql .sock Uptime: 21 hours 59 min 10 sec Threads: 2 Questions: 13095 Slow queries: 0 Opens: 395 Flush tables: 2 Open tables: 222 Queries per second avg: 0.165 |
4. MySQL 계정생성 하기
이제 새로운 데이터베이스와 계정을 생성한다. 여기에서는 데이터베이스 이름은 testdb , 새로운 사용자 이름은 testuser , 그리고 비밀번호는 password 를 사용했다. 먼저 아래와 같이 MySQL shell 을 실행한다.
1 | mysql -u root -p |
이제 아래와 같은 스크립트를 사용하여 데이터베이스 및 사용자를 생성한다.
1 2 3 4 5 6 | -- testdb 생성 CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- test 계성 생성 CREATE USER 'test' @ '%' IDENTIFIED BY 'password' ; -- testdb에 대한 권한을 test 에게 부여한다. GRANT ALL PRIVILEGES ON testdb.* TO 'test' @ '%' WITH GRANT OPTION ; |
이제 클라언트에서 새롭게 생성한 계정으로 접속을 한다. 프로그램은 "MySQL Workbench"를 사용했다.
접속시에 아래와 같은 오류가 발생하는 경우 두가지 방법인 있다. 이는 MySQL 8.x버전부터는 caching_sha2_password 을 지원하고 있는데 이전 버전의 클라이언트 버전들은 지원하고 있지 않아서다.
authentication plugin 'caching_sha2_password'
cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2):
image not found
이글에서는 클라이언트 버전을 최신 버전으로 업데이트 하여 사용하였다.
접속시에 아래와 같은 오류가 발생하는 경우 두가지 방법인 있다. 이는 MySQL 8.x버전부터는 caching_sha2_password 을 지원하고 있는데 이전 버전의 클라이언트 버전들은 지원하고 있지 않아서다.
authentication plugin 'caching_sha2_password'
cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2):
image not found
- 서버에 default-authentication-plugin=mysql_native_password 설정을 추가한다.
- "MySQL Workbench" 프로그램은 최신 버전으로 업데이트 한다.
이글에서는 클라이언트 버전을 최신 버전으로 업데이트 하여 사용하였다.
댓글 없음:
댓글 쓰기