FIF's 코딩팩토리

CentOS7에 MariaDB설치후 SQL-developer로 접근 본문

Database(데이터 베이스)

CentOS7에 MariaDB설치후 SQL-developer로 접근

FIF 2019. 5. 23. 16:19
반응형

CentOS6까지 제공하던 MYSQL을 CentOS7 부터는 MariaDB로 변경하여 제공한다.

설치가 안되어 있다면 아래 설치과정을 참고하라.

 

1.repo 설정

[root@localhost ~]# vi /etc/yum.repos.d/MariaDB.repo

 

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/centos7-amd64 

gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 

gpgcheck=1

 

2. 설치

[root@localhost ~]# yum install MariaDB-server

--이하 설치 완료 화면 생략--

 

 

3. 확인

[root@localhost ~]# rpm -qa | grep MariaDB

 

4. DB시작 및 패스워드 변경

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# /usr/bin/mysqladmin -u root password ‘P@ssw0rd’ //빨간곳에 패스워드 지정

 

5. 접속 확인

[root@localhost ~]# mysql -u root -p

Enter password: P@ssw0rd //지정한 패스워드 입력

 

6. 데이터 베이스 시작

기본적으로 DB를 사용하려면 Database를 만들고, 그 Database에 접속 가능한 user를 생성한 다음 생성한 user로 접속해야한다.

따라서 모든 user가 전체 권한을 가지고 있으면 안되고, 각 user의 사용목적에 맞게 권한을 지정해줘야한다.

(root계정은 최상위 계정으로 사용하면 안됨)

데이터베이스안에 계정이 있는게 아니다.

mysql이라는 데이터베이스에 user1이라는 계정이 있다면 member Database에서 user1이라는 계정을 만들지 못한다.

shell > systemctl start mariadb

 

//데이터베이스 보기

MariaDB [ (none) ]> show databases;

 

//mysql 데이터베이스 사용

MariaDB [ (none) ]> use mysql;  

 

// ism계정을만들고 비밀번호 123123 설정, %는 원격접속 허용

MariaDB [mysql]> create user 'ism'@'%' identified by '123123'; 

 

//이렇게 하면 내부에서만 접근 가능함

MariaDB [mysql]> create user 'ism’@’localhost' identified by '123123'; 

 

 

접근성공

 

외부에서 접근시 사용자 이름(user)를 기준으로 접속이 된다.

내가 햇갈린건 MariaDB[mysql]에서 빨간 부분이 데이터베이스 인데, 이걸 적는곳이 없어서 였다.

 

 

 

7. 특정계정에 모든 권한 주기

//%자리는 접속위치. localhost라고 하면 내부에서만 접근 가능

MariaDB [mysql]> grant all privileges on mysql.* to ‘ism’@’%’;

 

8. 권한 확인

MariaDB [mysql]> show grants for ‘ism’@’%’;

 

9. 권한 삭제

MariaDB [mysql]> revoke all on mysql.* FROM ‘ism’@’%’;

 

10. 계정 삭제

MariaDB [mysql]> drop user ‘ism’@’%’;

 

11. SQL-developer에서 간단한 쿼리문 실행하고 서버에서 확인

--사용할 데이터베이스 선택

use mysql;

 

create table test(

fd1 int,

fd2 varchar(50)

);

 

insert into test values(10, 'hello');

insert into test values(20, 'hi');

 

select * from test;

 

 

commit을 하지 않아도 자동으로 commit되도록 기본값으로 설정되어 있다.

 

 

 

반응형
Comments