[환경]

centos7

 

서버를 운영하다보면 예전에 자신이 어떠한 명령어를 입력했었는지 혹은 다른 사람이 서버에 접속하여

무슨 작업을 했었는지 알아야 할 때가 있다.

특히 여러명이 다같이 관리하는 서버라면 꼭 해당 서버에 입력된 명령어들을 로그로 기록해두는것이 좋다.

안해뒀다가 괜히 덤탱이 쓰는 경우도 있기 때문에 항상 기록하는걸 추천한다.

커맨드를 기록하게 하는 방법은 아래와 같다.

 

 

1. /etc/profile 수정

- /etc/profile에 아래와 같이 내용을 추가한다

# Add timestamp to .bash_history
    HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "
    export HISTTIMEFORMAT

function history_to_syslog {
declare command
remoteaddr="`who am i`"
pwd="`pwd`"
command=$(fc -nl 0 | cut -b3-)
if [ "$command" != "$old_command" ]; then
logger -p local2.notice -t bash -i "user : $USER    Command : $command    Directory : $pwd"
fi
old_command=$command
}
trap history_to_syslog DEBUG

-이후 source /etc/profile 명령어를 통해 profile을 다시 적용

 source /etc/profile

 

 

2. syslog 설정 추가

- /etc/rsyslog.conf 파일에 아래 내용 추가 ( 리눅스 버전마다 이름은 다를수있음)

# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log
local2.notice                                           /var/log/cmd.log    <이부분 추가

-syslog 재시작

systemctl restart rsyslog

 

 

3. 로그 확인

- /var/log/cmd.log

https://mobaxterm.mobatek.net/

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

 

putty와 같은 원격 접근 프로그램으로 유료버전과 무료버전이 나뉘어있는데

무료버전도 나름 괜찮다

 

왼쪽이 무료 오른쪽이 유료버전 기능설명인데

무료버전도 쓸만한 기능들 많이지원을 한다

 

유용한 기능으로는

multiexec 기능과 sftp 기능이 있다

 

multiexec 기능

multiexec는 위 이미지처럼 여러대의 서버에 똑같은 명령어를 입력할 수 있기때문에 다중서버에 동일한 작업이 필요할때 사용하기 편하다

 

sftp 기능

sftp 기능은 winscp와 같이 서버에 파일 업/다운로드를 할 수 있는 기능이다

서버에 파일 업로드 하겠다고  winscp 나 파일질라같은걸 킬필요없어서 굉장히 편하다

(putty + winscp)라고 보면됨

 

 

 

항상 putty만 이용하다 무료 ssh프로그램중에 쓸만한게 없나 찾아봤었는데 무료치고 굉장히 좋아서 계속 이용중..

1.데이터 베이스 생성하기

- 테이블을 생성하기 이전에 데이터베이스가 생성되어 있어야한다.

 

-'creatye database <데이터베이스명>'명령어를 통해 데이터베이스 생성

MariaDB [(none)]> create database MOGI;
Query OK, 1 row affected (0.000 sec)

-'show databases;' 명령어를 통해 생성된 데이터 베이스 확인

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| MOGI               |
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.000 sec)

-생성한 데이타 베이스안에 테이블을 생성하기위해 'use <데이터베이스명>'명령어로 해당 데이터베이스로 이동

MariaDB [(none)]> use MOGI
Database changed
MariaDB [MOGI]>

 

2.테이블 생성하기

-아래와 같이 테이블 생성

[ CREATE TABLE <테이블명> ( <컬럼명> <데이터타입> <옵션> <제약조건> );

MariaDB [MOGI]> CREATE TABLE member(
    -> no int auto_increment not null primary key,
    -> name char(20),
    -> user_id varchar(20) unique,
    -> password varchar(40) default "qwe123!@#",
    -> in_date datetime not null);
Query OK, 0 rows affected (0.063 sec)

-'show tables;' 명령어를 통해 생성확인

MariaDB [MOGI]> show tables;
+----------------+
| Tables_in_MOGI |
+----------------+
| member         |
+----------------+
1 row in set (0.001 sec)

-'desc <테이블명>' 명령어로 생성된 테이블 구조 확인

MariaDB [MOGI]> desc member;
+----------+-------------+------+-----+-----------+----------------+
| Field    | Type        | Null | Key | Default   | Extra          |
+----------+-------------+------+-----+-----------+----------------+
| no       | int(11)     | NO   | PRI | NULL      | auto_increment |
| name     | char(20)    | YES  |     | NULL      |                |
| user_id  | varchar(20) | YES  | UNI | NULL      |                |
| password | varchar(40) | YES  |     | qwe123!@# |                |
| in_date  | datetime    | NO   |     | NULL      |                |
+----------+-------------+------+-----+-----------+----------------+
5 rows in set (0.001 sec)

 

-테이블 데이터 타입과 제약조건-

[데이터타입-숫자형]

타입 크기 데이터
bool , boolean 1byte 참(true)/거짓(false)
tinyint 1byte 정수
int , integer 4byte 정수
bigint 8byte 정수
float 4byte 부동소수점(실수)
double 8byte 부동소수점(실수)
bit(n) (n)bit 정수

[데이터타입-문자형]

타입 크기
char(n) (n) byte 고정형 최대 2^8 byte
varchar(n) (n) byte 가변형 최대 2^8 byte
text 2^16 byte
longtext 2^32 byte

[데이터타입-날짜형]

타입 형식
date YYYY-MM-DD
time HH:MM:SS
datetime YYYY-MM-DD HH:MM:SS
timestamp YYYY-MM-DD HH:MM:SS
year YYYY

 

[제약조건]

- 데이터의 무결성을 지키기 위해 제한된 조건

- 테이블 및 컬럼 에 적용가능

조건 기능
NOT NULL NULL 값 사용 제한
UNIQUE 테이블 내에서 해당 column의 값이 유일하도록 설정(중복 불가능)
PRIMARY KEY(기본키) 테이블의 각 행을 고유하게 식별하는 값(UNIQUE + NOT NULL)
FOREIGN KEY(외래키) 두 테이블의 데이터 간 연결을 설정하고 강제 적용하여 외래 키 테이블에 저장될 수 있는 데이터를 제어
CHECK 해당 column에 저장 가능한 데이터 값의 범위나 조건 지정

-구성환경-

Centos7

mariadb

 

1.db에 계정 추가하기

- db에 접속하여 현재 계정 정보를 확인

- Host,User 컬럼확인시 root 계정이 localhost에서만 허용된것을 확인가능

 mysql -uroot -p mysql
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.4.12-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [mysql]> select * from user;
+-----------------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+---------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+---------+--------------+--------------------+
| Host                  | User  | Password                                  | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | Delete_history_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                     | password_expired | is_role | default_role | max_statement_time |
+-----------------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+---------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+---------+--------------+--------------------+
| localhost             | root  | *0B0A8BA0BB47561FA5C1FE726FFDFFC56F3FF585 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      | Y                   |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | *0B0A8BA0BB47561FA5C1FE726FFDFFC56F3FF585 | N                | N       |              |           0.000000 |
| localhost             | mysql | invalid                                   | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      | Y                   |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | invalid                                   | N                | N       |              |           0.000000 |
| localhost             |       |                                           | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      | N                   |          |            |             |              |             0 |           0 |               0 |                    0 |                       |                                           | N                | N       |              |           0.000000 |
| localhost.localdomain |       |                                           | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      | N                   |          |            |             |              |             0 |           0 |               0 |                    0 |                       |                                           | N                | N       |              |           0.000000 |
+-----------------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+---------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+---------+--------------+--------------------+
4 rows in set (0.001 sec)

 

- 'create user 'root'@'%' identified by 'qwe123!@#';' 명령어를 통해 root계정으로 외부에서도 접근 가능하도록 추가

MariaDB [mysql]> create user 'root'@'%' identified by 'qwe123!@#';
Query OK, 0 rows affected (0.001 sec)

- 'flush privileges' 명령어를 통해 추가한값을 적용 

#mariadb,mysql 의 경우 계정을 추가하거나 수정 삭제후 적용시키기 위해서는 적용명령어를 입력해주어야함

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.000 sec)

-추가된 정보 확인

MariaDB [mysql]> select * from user;
+-----------------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+---------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+---------+--------------+--------------------+
| Host                  | User  | Password                                  | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | Delete_history_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                     | password_expired | is_role | default_role | max_statement_time |
+-----------------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+---------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+---------+--------------+--------------------+
| localhost             | root  | *0B0A8BA0BB47561FA5C1FE726FFDFFC56F3FF585 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      | Y                   |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | *0B0A8BA0BB47561FA5C1FE726FFDFFC56F3FF585 | N                | N       |              |           0.000000 |
| localhost             | mysql | invalid                                   | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      | Y                   |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | invalid                                   | N                | N       |              |           0.000000 |
| localhost             |       |                                           | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      | N                   |          |            |             |              |             0 |           0 |               0 |                    0 |                       |                                           | N                | N       |              |           0.000000 |
| localhost.localdomain |       |                                           | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      | N                   |          |            |             |              |             0 |           0 |               0 |                    0 |                       |                                           | N                | N       |              |           0.000000 |
| %                     | root  | *2C8DB48367F230AE366C7117C12F354077916B4A | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      | N                   |          |            |             |              |             0 |           0 |               0 |                    0 | mysql_native_password | *2C8DB48367F230AE366C7117C12F354077916B4A | N                | N       |              |           0.000000 |
+-----------------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+---------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+---------+--------------+--------------------+
5 rows in set (0.001 sec)

 

2. 계정에 권한 설정하기

- 권한 설정하기에 앞서 테스트 계정 생성 

MariaDB [mysql]> create user 'test'@'localhost' identified by 'qwe123!@#';
Query OK, 0 rows affected (0.002 sec)

- [show grants for test@'localhost'] 명령어를 통해 권한 확인

- 'USAGE' 권한으로 설정되어 있으며 접속만 가능하다는 의미

MariaDB [mysql]> show grants for test@'localhost';
+-------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*2C8DB48367F230AE366C7117C12F354077916B4A' |
+-------------------------------------------------------------------------------------------------------------+

-[ grant all privileges on *.* to test@'localhost' with grant option; ] 명령어를 통해 전체 DB에 대하여 모든 권한 허용

MariaDB [mysql]> grant all privileges on *.* to test@'localhost' with grant option;
Query OK, 0 rows affected (0.002 sec)

- 'flush privileges' 명령어를 통해 추가한값을 적용 

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.000 sec)

- 추가된 권한 확인

- 아까와는 다르게 USAGE가 아닌 ALL로 바뀌어 모든 권한이 허용되있는것을 확인가능

MariaDB [mysql]> show grants for test@'localhost';
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*2C8DB48367F230AE366C7117C12F354077916B4A' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)

 

-OS버전-

Centos 7.7

 

 

1. repo 설정_1

-mariadb를 설치하기위해 다운로드 경로를 지정하는 과정 'vi vi /etc/yum.repos.d/mariadb.repo' 명령어를 통해 repo파일 생성한뒤 아래와 같이 입력 후 저장

----------------------------------------------------------------------

[mariadb]
name = mariadb
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1

----------------------------------------------------------------------

[root@localhost ~]# vi /etc/yum.repos.d/mariadb.repo
[mariadb]
name = mariadb
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1

 

2.yum 을 이용한 설치 진행

-'yum install MariaDB' 명령어를 통해 설치 진행 이후 설치진행을 할것인지 물음에대하여 'y'를 입력하여 계속하여 진행

[root@localhost ~]# yum install MariaDB

Dependencies Resolved

===============================================================================================================================================================================================================
 Package                                                   Arch                                      Version                                                  Repository                                  Size
===============================================================================================================================================================================================================
Installing:
 MariaDB-client                                            x86_64                                    10.4.12-1.el7.centos                                     mariadb                                     12 M
 MariaDB-compat                                            x86_64                                    10.4.12-1.el7.centos                                     mariadb                                    2.8 M
 MariaDB-server                                           x86_64                                     10.4.12-1.el7.centos                                     mariadb                                     26 M
     replacing  mariadb-libs.x86_64 1:5.5.64-1.el7
Installing for dependencies:
 MariaDB-common                                            x86_64                                    10.4.12-1.el7.centos                                     mariadb                                     81 k
 perl                                                      x86_64                                    4:5.16.3-295.el7                                         base                                       8.0 M
 perl-Carp                                                 noarch                                    1.26-244.el7                                             base                                        19 k
 perl-Encode                                               x86_64                                    2.51-7.el7                                               base                                       1.5 M
 perl-Exporter                                             noarch                                    5.68-3.el7                                               base                                        28 k
 perl-File-Path                                            noarch                                    2.09-2.el7                                               base                                        26 k
 perl-File-Temp                                            noarch                                    0.23.01-3.el7                                            base                                        56 k
 perl-Filter                                               x86_64                                    1.49-3.el7                                               base                                        76 k
 perl-Getopt-Long                                          noarch                                    2.40-3.el7                                               base                                        56 k
 perl-HTTP-Tiny                                            noarch                                    0.033-3.el7                                              base                                        38 k
 perl-PathTools                                            x86_64                                    3.40-5.el7                                               base                                        82 k
 perl-Pod-Escapes                                          noarch                                    1:1.04-295.el7                                           base                                        51 k
 perl-Pod-Perldoc                                          noarch                                    3.20-4.el7                                               base                                        87 k
 perl-Pod-Simple                                           noarch                                    1:3.28-4.el7                                             base                                       216 k
 perl-Pod-Usage                                            noarch                                    1.63-3.el7                                               base                                        27 k
 perl-Scalar-List-Utils                                    x86_64                                    1.27-248.el7                                             base                                        36 k
 perl-Socket                                               x86_64                                    2.010-5.el7                                              base                                        49 k
 perl-Storable                                             x86_64                                    2.45-3.el7                                               base                                        77 k
 perl-Text-ParseWords                                      noarch                                    3.29-4.el7                                               base                                        14 k
 perl-Time-HiRes                                           x86_64                                    4:1.9725-3.el7                                           base                                        45 k
 perl-Time-Local                                           noarch                                    1.2300-2.el7                                             base                                        24 k
 perl-constant                                             noarch                                    1.27-2.el7                                               base                                        19 k
 perl-libs                                                 x86_64                                    4:5.16.3-295.el7                                         base                                       689 k
 perl-macros                                               x86_64                                    4:5.16.3-295.el7                                         base                                        44 k
 perl-parent                                               noarch                                    1:0.225-244.el7                                          base                                        12 k
 perl-podlators                                            noarch                                    2.5.1-3.el7                                              base                                       112 k
 perl-threads                                              x86_64                                    1.87-4.el7                                               base                                        49 k
 perl-threads-shared                                       x86_64                                    1.43-6.el7                                               base                                        39 k

Transaction Summary
===============================================================================================================================================================================================================
Install  2 Packages (+28 Dependent packages)

Total download size: 26 M
Is this ok [y/d/N]:y

(생략)

Dependency Installed:
  MariaDB-common.x86_64 0:10.4.12-1.el7.centos perl.x86_64 4:5.16.3-295.el7           perl-Carp.noarch 0:1.26-244.el7         perl-Encode.x86_64 0:2.51-7.el7          perl-Exporter.noarch 0:5.68-3.el7
  perl-File-Path.noarch 0:2.09-2.el7           perl-File-Temp.noarch 0:0.23.01-3.el7  perl-Filter.x86_64 0:1.49-3.el7         perl-Getopt-Long.noarch 0:2.40-3.el7     perl-HTTP-Tiny.noarch 0:0.033-3.el7
  perl-PathTools.x86_64 0:3.40-5.el7           perl-Pod-Escapes.noarch 1:1.04-295.el7 perl-Pod-Perldoc.noarch 0:3.20-4.el7    perl-Pod-Simple.noarch 1:3.28-4.el7      perl-Pod-Usage.noarch 0:1.63-3.el7
  perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-5.el7       perl-Storable.x86_64 0:2.45-3.el7       perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7
  perl-Time-Local.noarch 0:1.2300-2.el7        perl-constant.noarch 0:1.27-2.el7      perl-libs.x86_64 4:5.16.3-295.el7       perl-macros.x86_64 4:5.16.3-295.el7      perl-parent.noarch 1:0.225-244.el7
  perl-podlators.noarch 0:2.5.1-3.el7          perl-threads.x86_64 0:1.87-4.el7       perl-threads-shared.x86_64 0:1.43-6.el7

Replaced:
  mariadb-libs.x86_64 1:5.5.64-1.el7

Complete!

 

3. mariadb 실행 및 기동확인

- 'system start mariadb' 명령어를 통해 mariadb 실행

[root@localhost ~]# systemctl start mariadb

- 'netstat -antp | grep 3306' 명령어를 통해 서비스 기동확인   #mariadb는 기본적으로 3306포트를 사용함

[root@localhost ~]# netstat -antp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      2520/mysqld

 

4. mariadb 접속

- 'mysql -uroot' 명령어를 통해 mariadb  접근   #mariadb는 mysql과 동일한 소스코드 기반 db로서 로그인시에도 mysql 명령어를 사용함

[root@localhost ~]# mysql -uroot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.4.12-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

5.os 재시작 시에도 기동되도록 설정

- 'systemctl enable mariadb' 명령어를 통해 os가 재기동되더라도 서비스가 항시 기동되도록 설정

[root@localhost ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/mysql.service to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/mysqld.service to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

- 'systemctl is-enabled mariadb' 명령어를 통해 등록된것 확인

[root@localhost ~]# systemctl is-enabled mariadb
enabled

 

mariadb 설치 및 기동방법에대하여 간단하게 설명하였으며

계정의 추가,수정이나 데이터베이스,테이블 생성과 같은 운영방법에대해서는 다른글에서 다루도록함

-사전준비-

버추얼박스

centos7 이미지

 

 

1.설치 시작화면에서 'Install CentOS7'선택 후 엔터

 

 

2.언어 선택화면에서 '한국어' 선택 후 '계속 진행'

 

 

3.설치 옵션 선택화면으로 '시스템' - '설치 대상' 클릭

 

 

4.현재 서버에 구성되어 있는 디스크 선택후 '완료' 클릭

#파티션을 별도로 나누고 싶을시에는 '기타 저장소 옵션'에서 '파티션을 설정합니다'옵션 선택

 

 

5.'4'와 같이 디스크 선택 후 이전 설치옵션 화면에서 '설치 시작'버튼을 클릭하면 이와같은 화면이 보이며 'ROOT암호' 클릭

 

 

6.'root'계정 암호 설정 화면으로 임의값 설정 후 '완료'

 

 

7.설치 완료시 아래와 같이 화면이 표시되며 '재부팅'클릭하여 서버 재부팅 진행

 

 

8.설치 완료 후 로그인 확인

-사전준비-

버추얼박스

Centos6 이미지

 

 

1.설치 시작화면에서 가장 첫줄 'Install or upgrade an existing system' 선택 후 엔터

 

 

2.설치전에 테스트를 할건지 물어보는데 안할거니까 'skip' 선택 후 엔터

 

 

3.'next'선택 후 엔터

 

 

4.사용할 언어 선택하는 화면으로 'korean(한국어)'선택 후 'next'

 

 

5.사용할 키보드 선택하는 화면으로 기본 키보드인 'U.S. 영어'선택 후 '다음(N)'

 

 

6. 저장 장치 고르는 화면(DISK)로 '기본 저장 장치' 선택 이후 '다음(N)'

 

 

7.현재 OS를 설치할 디스크 포맷이 필요하므로 '예,모든 데이터를 삭제합니다'선택

 

 

8.서버의 hostname 설정하는 화면으로 임의값 지정

 

 

9.서버 시간설정으로 '아시아/서울' 선택

 

 

10.서버에 생성되는 관리자계정(root) 패스워드 설정하는 화면으로 임의값 설정

#단순한 암호선택시 추측하기 쉬운암호라는 경고창뜨나 '어쨌든 사용' 선택시 사용됨

 

 

11.디스크 파티션을 설정할 수 있는 화면으로 임의지정시 '사용자 레이아웃 만들기' 선택하면되나

자동으로 설정되도록 '모든 공간 사용'으로 선택

 

 

12.'모든 공간 사용' 선택시 나오는 화면으로 바로 '다음' 선택

 

 

13.파티션 포맷하는 화면으로 '포맷'클릭

 

 

14.'디스크에 변경사항 기록' 클릭

 

 

15.부트로더 선택 화면으로 기본값 그대로 '다음' 클릭

 

 

16.설치모드 설정하는 화면으로 아래와 같이 구성되어 있음

일반적으로

Desktop - 서버 + GUI화면구성

Basic Server - 베이직 서버 (가장기본적인 서버구성)

Minimal - 최소설치서버 (최소한의 필요구성만 포함)

이렇게 세가지로 설치하는 경우가 많으며

원하는 구성으로 선택 후 '다음' 클릭

 

 

17.설치 로딩화면

 

 

18.설치 완료 후 로그인 확인

 

 

 

Ansible(앤서블) 설치 및 기본 설정

 

[ 구성 ]

OS - CentOs 7

Master 서버 1대 ( 제어서버 )

Client 서버 3대 ( 관리대상서버 )

 

 

1. 설치 

-Master서버만 설치 필요 , Client서버는 별도의 프로그램 설치 필요없음

[root@MANAGER ~]# yum -y install ansible

 

 

2. 관리대상 서버 등록

- /etc/ansible/hosts(관리대상서버 리스트 설정 파일) 파일에 관리하고자 하는 대상 서버 목록 입력

 

(예시)

-------------------------------------------

[MOGI] #관리 대상 그룹명

10.0.2.5 #관리대상 서버 IP 

10.0.2.6 #관리대상 서버 IP

10.0.2.7 #관리대상 서버 IP

-------------------------------------------

 

vi /etc/ansible/hosts

      4 #
      5 #   - Comments begin with the '#' character
      6 #   - Blank lines are ignored
      7 #   - Groups of hosts are delimited by [header] elements
      8 #   - You can enter hostnames or ip addresses
      9 #   - A hostname/ip can be a member of multiple groups
     10
     11 # Ex 1: Ungrouped hosts, specify before any group headers.
     12
     13 ## green.example.com
     14 ## blue.example.com
     15 ## 192.168.100.1
     16 ## 192.168.100.10
     17
     18 # Ex 2: A collection of hosts belonging to the 'webservers' group
     19
     20 ## [webservers]
     21 ## alpha.example.org
     22 ## beta.example.org
     23 ## 192.168.1.100
     24 ## 192.168.1.110
     25
     26 # If you have multiple hosts following a pattern you can specify
     27 # them like this:
     28
     29 ## www[001:006].example.com
     30
     31 # Ex 3: A collection of database servers in the 'dbservers' group
     32
     33 ## [dbservers]
     34 ##
     35 ## db01.intranet.mydomain.net
     36 ## db02.intranet.mydomain.net
     37 ## 10.25.1.56
     38 ## 10.25.1.57
     39
     40 # Here's another example of host ranges, this time there are no
     41 # leading 0s:
     42
     43 ## db-[99:101]-node.example.com
     44
     45 [MOGI]
     46 10.0.2.5
     47 10.0.2.6
     48 10.0.2.7

 

3. 관리 대상 서버 known_hosts_key 값 입력

- 관리 대상 서버들의 known_hosts_key 값 입력받기 위하여 아래와 같이 명령어 입력후

노드 수 만큼 'yes' 입력 , 3개의 클라이언트 서버니 총 세번 입력 필요

[root@MANAGER ~]# ansible MOGI -m ping

 

4. 관리 대상 서버 통신 확인

- 이제 위에서 사용한 명령어에서 -k옵션을 추가하여 통신 확인 '-k'는 패스워드를 입력하는 옵션으로 세 서버가 동일한 패스워드를 사용하고 있어야함

[root@MANAGER ~]# ansible MOGI -m ping -k
SSH password:
10.0.2.6 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
10.0.2.7 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
10.0.2.5 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

 

 

+ Recent posts