Raspberry Pi_Kor_24.2.2 MySQL Server 설치


Published Book on Amazon


All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


24.2.2  <MySQL Server> 설치

 

24.2.2.1    <MySQL Server> 설치

 

Raspberry Pi에서 <MySQL server> 를 설치할 때는 다음 명령을 사용한다.

 

sudo   apt-get   install   mysql-server

 

명령을 실행하면, 아래와 같이 "root" 계정에 대한 암호를 입력하는 화면이 나온다


그림 24‑1 <MySQL database> server 설치의 root 계정

 

여기서 암호를 입력하고 [OK] 버튼은 누르면, 암호를 다시 확인하는 화면이 나온다. 이전에 입력한 암호와 동일한 암호를 입력하고, [OK] 버튼을 누르면 설치작업이 다시 진행된다

 

설치하는 과정에서 암호를 입력하는 "root" 계정은 MySQL 관리자로 사용되는데, 이 계정은 MySQL에서만 사용되며, Raspberry Pi의 시스템 관리자로 사용되는 "root" 계정과는 다른 것이다.


 

24.2.2.2    <MySQL Server> 설정

 

<MySQL Server> 설치가 완료된 후 <MySQL Server> 의 설정값을 조정하기 위해서 필요한 설정작업을 해야 한다. <MySQL Server>의 설정 관련 정보는 "/etc/mysql/my.cnf" 파일에 저장되어 있다. 아래는 중요한 정보를 발췌한 것이다.

 

#

# The MySQL database server configuration file.

#

# You can copy this to one of:

# - "/etc/mysql/my.cnf" to set global options,

# - "~/.my.cnf" to set user-specific options.

~ 중략

~ 중략

 [client]

port            = 3306

socket          = /var/run/mysqld/mysqld.sock

~ 중략

~ 중략

# This was formally known as [safe_mysqld]. Both versions are currently parsed.

[mysqld_safe]

socket          = /var/run/mysqld/mysqld.sock

nice            = 0

 

[mysqld]

#

# * Basic Settings

#

user            = mysql

pid-file        = /var/run/mysqld/mysqld.pid

socket          = /var/run/mysqld/mysqld.sock

port            = 3306

basedir         = /usr

datadir         = /var/lib/mysql

tmpdir          = /tmp

lc-messages-dir = /usr/share/mysql

~ 중략

~ 중략

[mysqldump]

quick

quote-names

max_allowed_packet      = 16M

 

[mysql]

#no-auto-rehash # faster start of mysql but no tab completition

~ 중략

~ 중략

#

# * IMPORTANT: Additional settings that can override those from this file!

#   The files must end with '.cnf', otherwise they'll be ignored.

#

!includedir /etc/mysql/conf.d/

 

기본적인 <MySQL Server> 설치가 완료되면 다음과 같은 추가 설정작업을 해야 한다. 먼저 MySQL로 하여금 database에 대한 정보를 보관할 database directory structure를 생성하도록 한다. 다음 명령을 사용한다

 

sudo  mysql_install_db

 

다음으로 database에 대한 보안을 강화하기 위해서 몇 가지 위험한 default 설정값을 제거하고, database 시스템에 대한 허가받지 않은 접근을 차단하기 위해서 아래와 같은 간단한 security script를 실행한다.

 

sudo  mysql_secure_installation

 

이 명령을 수행하면 MySQL "root" 계정의 현재 암호를 확인하는 절차가 있다. 이 명령에서는 다음 항목에 대한 처리 여부를 확인한다. 이들은 대부분 개발과정에서는 참조를 위해서 필요하지만, 실제 운영환경에서는 필요 없는 항목들이다.    

    Change the root password? [Y/n]

    Remove anonymous users? [Y/n]

    Disallow root login remotely? [Y/n]

    Remove test database and access to it? [Y/n]

    Reload privilege tables now? [Y/n]

 

MySQL에 대한 설정 작업이 완료되면, MySQL이 새로운 설정작업을 곧바로 반영하여 실행되도록 해당 application restart 한다. 다음 명령을 한다.

 

sudo  service mysql  restart


 

Leave a Reply