본문 바로가기
갭알 ☠️/리눅스

데이터베이스 서버 (Database Server) 2

by Niyaoh 2020. 12. 8.

4. 명령어 drop

 

어제 만들었던 '데이터베이스 dbsamadal''테이블 tbsamadal'을 바로 삭제하는 명령어

 

drop databases dbsamadal;

drop tables tbsamadal;

확인해보면 삭제가 잘 된 것을 확인할 수 있다.

명령어 drop
데이터베이스에 사용 O
테이블에 사용 O

 

 

5. 명령어 select

필드의 값을 출력하는 명령어이다.

 

먼저 select * from user;

필드 user 안에 있는 모든 것(*)을 출력한다는 내용이다.

확인해보면 엄청나게 많은 값들이 나타나는 것을 볼 수 있다.

저 중에 앞에 나와있는 Host, User, Password 를 볼 건데,

 

select host, user, password from user; 를 입력하면 된다.

필드 user 중에 host, user, password만 출력한다는 의미이다.

 

입력하면 이렇게 host, user, password 가 정렬되어 출력되는 것을 확인할 수 있다.

명령어 select
데이터베이스에 사용 X
테이블에 사용 O

 

 

6. 명령어 update

이제 host, user, password에 값을 입력할 건데, 중요한 것은 insert 명령어가 아닌 update 명령어를 입력해야 한다는 것이다.

insert는 값을 아예 새로 만들어 넣는 명령어이고, 이건 null값이라고 해서 현재 들어가 있는 값은 없지만, 들어갈 공간은 있으므로 update를 통해 추가만 하는 것이다.

null값에 대한 추가 정의 : 값을 받아들일 수 있는 공간(크기가 정해져 있는 값)

 

update user set password=password('samadal') where user='root';

밑줄 친 부분이 문법이다.

원래 명령어는 필드=값 (user='root' 이런 식)으로 오는데, password 만 문법이 유일하게 저렇게 함수 형식 password('samadal')으로 온다. (패스워드니까 암호 형식으로 값을 내줘야 하기 때문)

명령어 update
데이터베이스에 사용 X
테이블에 사용 O

 

 

7. 명령어 delete

아래에 보면 사용자 권한이 없는 Host가 있는데, 이거 실은 되게 위험한 존재이다.

사용자 권한이 없는데 사용자처럼 쓸 수가 있다는 건, 해킹하라고 여지를 주는 것이나 다름없는 것이다.

그래서 DB서버를 처음 시작할 때, 이 부분을 반드시 삭제부터 하고 설정을 시작해야한다.

 

delete from user where user='';

user=''; 유저 내용이 없는 것을 삭제하라는 의미이다.

명령어를 보면 말끔히 삭제된 것을 확인할 수 있다.

명령어 delete
데이터베이스에 사용 X
테이블에 사용 O

 

 

이전에 썼듯 mysql에서 가장 중요한 테이블인 db와 user.

그 중에 user를 기본적으로 설정했고(비밀번호 지정, 사용자 권한 없는 호스트 삭제)

다음 중요한 db 테이블도 user의 내용을 토대로 똑같이 작업해보자.

 

db 테이블에는 host, db, user 이 세 개가 중요 필드인데

보면은 아까 user 테이블에서와 같이 사용자 권한이 없는 Host가 두 개가 있다.

 

이것 역시 아까와 똑같이 delete 명령어(delete from db where user='';)를 사용해 삭제해주면 된다.

user와 동일하게, db 역시 이 Host 두 개를 없애고 설정을 시작하면 되겠다.

 

 

8. 명령어 insert

이제 insert 를 통해 user 테이블에 새로운 사용자를 만들어보자.

 

insert into user (host, user, password) valeus

 ('localhost', 'usersamadal', 'password('samadal'));

(확인) select host, user, password from user;

설정한 내용대로 user 테이블에 사용자가 잘 만들어진 것을 확인할 수 있다.

(명령어 입력할 때 host, user, password 순서는 따로 상관은 없다. 다만 뒤에 입력하는 값을 동일한 순서로 써줘야 한다)

 

다음, insert로 이번엔 db에 방금 만든 사용자를 데이트베이스와 연결 시켜보자.

insert into db values ('localhost', 'dbsamadal', 'usersamadal',

'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y'); (총 19번)

(확인) select host, db, user from db;

dbsamadal에 usersamadal이 연결된 것을 확인할 수 있다.


설정을 끝마쳤으면, 방금 만든 usersamadal로 mysql 접속을 한 번 해보자.

exit 혹은 quit를 해서 mysql을 나간다.

 

나가고 나서 다시 mysql을 실행할 때는 반드시 데몬을 재실행 해야 한다. 잊지 말 것 !

 

mysql -u root -p mysql 을 하고 비밀번호 samadal, 이건 정상 접속이 된다.

 

그럼 방금 설정한 내용대로

mysql -u usersamadal -p dbsamadal 로 접속해보면,

dbsamadal에 대한 정보가 없다고 한다.

 

usersamadal을 데이터베이스 dbsamadal로 설정을 해놨는데,

처음에 drop 명령어로 dbsamadal 데이터베이스를 삭제해버렸으니 당연히 접속이 안된다.

그럼, 데이터베이스 dbsamadal을 다시 만들면 될 것이다.

 

root로 접속해서, create database dbsamadal; 명령어를 입력하고

나와서 usersamadal 에 비밀번호 samadal 로 접속해보면 정상적으로 접속이 되는 것을 확인할 수 있다.

'갭알 ☠️ > 리눅스' 카테고리의 다른 글

데이터베이스 서버 (Database Server) 3  (0) 2020.12.08
데이터베이스 서버 (Database Server) 1  (0) 2020.12.07
윈도우 서버 호스트 지정하기  (0) 2020.12.04
네임서버 구축 정리  (0) 2020.12.02
Web Server  (0) 2020.11.27

댓글