프로그래밍 농장

Linux [ database ] 본문

Linux

Linux [ database ]

Tennessee201 2019. 12. 4.
728x90

database == 데이터(자료) 를 효율적으로 저장하기 위한 저장 공간 

             == 표의 형식으로 구성 

              -->  database 를 관리하기 위해서 사용하는 시스템 == DBMS  

DBMS(database management system) == 사용자가 DBMS 를 사용해서 데이터 처리 , 관리 진행 

 == R-DBMS ( relation) == 관계형 데이터베이스 시스템 

 --> 서로 다른 table간의 관계를 이용해서 데이터관리 

 

- mariadb 

      --> 무료, 공개형 데이터베이스 서버 

     --> MySQL 데이터 베이스 서버와 소스가 동일 

     --> 중소형급의 DB 서버에서 주로 사용 

     --> SQL 언어문을 사용해서 데이터 관리 == 데이터 구조 질의 언어문 

 

- database의 구조

           database  >>  table  >>  field  >>  value 

 

패키지 설치 : yum -y install mariadb*

 

서비스 실행 : systemctl restart mariadb

 

-  mariadb 접근하기 

ex)            mysql  -u   root  -p mysql 

                    1     2     3     4    5

1 : mariadb 접근 명령

2 : mariadb 에 접근할 사용자 지정 옵션 

3 : mariadb 에 접근할 사용자명 == 리눅스의 root 가 아님 == mariadb 의 관리자 계정을 의미함

4 : 패스워드

5 : 접근할 database 명 

 

유의사항

--> DB 서버 내에서는 언어문 작업을할떄에는 항상 ;(세미콜론) 을 붙혀주어야한다. 

--> 자동 줄바꿈 사용 자제하기 

 

user : 사용자 생성 table 

db : 데이터베이스와 사용자 연동 table 

 

CMD            database                             table 

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

show                O                                    O

ex)                 show databases;     ==  데이터베이스 목록 확인

                     show tables;          == 테이블 목록 확인 

                                              --> 끝에 s 사용 주의 

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

use                   O                                      X

데이터데이스 이동 명령어 (=리눅스에서 cd 와 같은 명령어 )

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

describe  

explain          

desc

ex)         desc user; ==선택한 table

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

create                    O                             O 

ex)         create     database dbkorea         == 데이터베이스 생성

            create table tbkorea ( num int(2),name,chan(10)));  == 테이블 생성 

-> table 생성 시에는 1래 이상의 필드 , 필드타입 정의 필요

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

drop                   O                                O 

ex)          grop database dbkoreal     == 데이터 베이스 삭제

 

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

select               X                            O               

ex)   select * from user , == 선택한 table에 있는 전체 field 와 value의 값을 확인. 

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

update               X                              O

ex)  update user set password=password('koreait') where user='root'; == value(자료 값(=레코드값)) 수정  

아래와 같이 update 명령어를 이용해서 비밀번호 수정후의 화면이다. 비밀번호가 암호화 되어있는것을 확인가능하다.


                         

 

 

 

-->  DB서버내에서 작업시에는 항상 리눅스환경에서 데몬을 돌리듯이 ,

               flush privileges; 를 입력해주어야 변경사항이 저장된다. 

 

CMD            database                             table 

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

delete               X                                      O

아래는 delete from user where user='';   --> user값이 0인 user 삭제하는 delete 명령어입력결과

 

 

insert 

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

사용자 생성 : insert into user (host,user,password) values ('localhost','userkorea',password('koreait'));

사용자와 데이터베이스 연동 : insert into db values ('localhost',dbkorea','userkorea','y',*19번입력);

아래는 테이블내의 새로운 사용자를 insert 명령어를 이용하여 추가해준 모습 

 

위와 같이 userkorea를 만들어보았다. 그렇다면 ,이  userkorea로 접속하여 dbkorea라는 연동된 데이터베이스를 만들어보아라 . 

 

-> 풀이   :  일단 위 사항에 대한 기본적인 명령어는 mysql -u userkorea -p dbkorea 이다. 

         이후 로그인까지 하면 db가 없다는 메세지가 뜰것이다. 그렇다면 dbkorea를 만들어 주고 다시 실행해보면 정상접속이 될것이다. 

dbkorea 생성 :  create database dbkorea; 

이후 다시 userkorea로 dbkorea에 접속해보면 정상적으로 접속이 된다. 

 

 

database 구성해보기

    DB  : dbtest

    USER  :  usertest 

    table  : tbtest 

    field : num, name, addr, phone

    value : 아무거나 3개 라인 이상을 작성해볼것 

 

 

--> 관리자(root) 의 역할  : DB(dbtest)생성 , USER(usertest)생성, DB-USER를 연동해주는 작업까지만 !

 

풀이  -> 강의참조

 

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

phpmyadmin

==웹 환경에서 mariadb(MYSQL)의 거의 모든 기능을 지원해주는 웹 기반 관리 매니저 프로그램 

== database, table, field 등을 손쉽게 관리 가능

 

728x90

'Linux' 카테고리의 다른 글

Linux [database 관련 ]  (0) 2019.12.06
Linux [ Database 관련 정리 ]  (0) 2019.12.05
Linux [ 웹서버 - virtual host(가상 호스트) ]  (0) 2019.12.04
Linux [ DNS 서버관련 메모 ]  (0) 2019.12.02
Linux [ web server ]  (0) 2019.12.02