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 |