1. MySQL 설치하기
MySQL 을 yum 명령을 사용하여 설치하는 것은, 사실은 MariaDB 를 설치하는 것이다. 설치를 위하여 먼저 MySQL패키지 정보를 제공하는 MySQL community Yum Repository 사이트를 방문해야 한다.#wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm아래와 명령으로 먼저 레파지토리를 추가한다.
#sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
이제 MySQL 서버를 설치한다.
# yum install mysql-server
2. MySQL 시작하기
MySQL 서버는 다음 명령으로 시작한다.# systemctl start mysqld시작이후에는 다음 명령으로 서버 상태를 확인할 수 있다.
# systemctl status mysql
# 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
추가로 다음의 명령을 통하여 원격 접속을 위한 방화벽을 설정한다.
#firewall-cmd --zone=public --permanent --add-service=mysql
4. MySQL 테스트 하기
설치 및 설치 정보를 확인하기 위하여 mysqladmin 도구를 사용하여 접속한다.#mysqladmin -u root -p version
다음과 유사한 메시지를 보게된다.
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 을 실행한다.
mysql -u root -p
이제 아래와 같은 스크립트를 사용하여 데이터베이스 및 사용자를 생성한다.
-- 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" 프로그램은 최신 버전으로 업데이트 한다.
이글에서는 클라이언트 버전을 최신 버전으로 업데이트 하여 사용하였다.
댓글 없음:
댓글 쓰기