27 리눅스에 maria db 설치
mySQL은 원래 자바를 만든 회사 sum에서 만든 것인데 오라클이 sum을 인수하면서 mySQL이 오라클 제품이 되었음. mySQL은 오라클의 1/4 정도의 가격으로 판매되고 있음.
maria db는 mySQL과 완전 똑같은데 무료임.
https://bamdule.tistory.com/59
[root@localhost ~]# rpm -qa | grep MariaDB
MariaDB-compat-10.4.24-1.el7.centos.x86_64
MariaDB-client-10.4.24-1.el7.centos.x86_64
MariaDB-server-10.4.24-1.el7.centos.x86_64
MariaDB-common-10.4.24-1.el7.centos.x86_64
[root@localhost ~]# mariadb --version
mariadb Ver 15.1 Distrib 10.4.24-MariaDB, for Linux (x86_64) using readline 5.1
설치가 잘 됐음을 확인함.
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# netstat -anp | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 7453/mysqld
[root@localhost ~]#
# systemctl start mariadb : mariadb 실행시키는 코드
# netstat -anp | grep 3306 : 포트번호 확인하는 코드
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.4.24-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)]>
# mysql -u root -p : mariadb에 접속함
emp스크립트 복사붙여넣기 한 후 sql쿼리 입력하면 됨.
MariaDB [orcl]> exit;
Bye
> 리눅스로 넘어옴
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.4.24-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)]>
> 다시 mariadb로 접속
MariaDB [(none)]> use orcl;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [orcl]>
> orcl로 접속, none에서 orcl로 사용자 변경됨.
문제127. 직업이 salesman인 사원들의 이름과 월급과 직업을 출력하는데 월급이 높은 사원부터 출력하시오.
MariaDB [orcl]> select ename, sal, job
-> from emp
-> where job = 'salesman'
-> order by sal desc;
+--------+------+----------+
| ename | sal | job |
+--------+------+----------+
| TURNER | 1500 | SALESMAN |
| MARTIN | 1250 | SALESMAN |
| WARD | 1250 | SALESMAN |
+--------+------+----------+
3 rows in set (0.000 sec)
MariaDB [orcl]>
문제128. 직업, 직업별 토탈월급을 출력하는데 직업별 토탈월급이 높은것부터 출력하시오.
MariaDB [orcl]> select job, sum(sal)
-> from emp
-> group by job
-> order by 2 desc;
+-----------+----------+
| job | sum(sal) |
+-----------+----------+
| MANAGER | 8275 |
| ANALYST | 6000 |
| PRESIDENT | 5000 |
| CLERK | 4150 |
| SALESMAN | 4000 |
+-----------+----------+
5 rows in set (0.000 sec)
문제129. 직업, 직업별 토탈월급을 출력하는데 직업이 salesman은 제외하고 출력하고 직업별 토탈월급이 4000이상인 것만 출력하고 직업별 토탈월급이 높은것부터 출력하시오.
MariaDB [orcl]> select job, sum(sal)
-> from emp
-> where job != 'salesman'
-> group by job
-> having sum(sal) >= 4000
-> order by 2 desc;
+-----------+----------+
| job | sum(sal) |
+-----------+----------+
| MANAGER | 8275 |
| ANALYST | 6000 |
| PRESIDENT | 5000 |
| CLERK | 4150 |
+-----------+----------+
4 rows in set (0.000 sec)
MariaDB [orcl]>
ㅇ오라클과 mariadb의 함수 차이점
Oracle | Maria db |
decode | if |
case | case |
oracle > select ename,
deptno,
sal,
decode(deptno, 10, 300,
20, 500, 0) as bonus
from emp;
mariadb > select ename,
deptno,
sal,
if(deptno = 10, 300,
if(deptno = 20, 500, 0) ) as bonus
from emp;
MariaDB [orcl]> select ename, deptno, sal, if(deptno = 10, 300, if(deptno = 20, 500, 0 )) as bonus
-> from emp;
+--------+--------+------+-------+
| ename | deptno | sal | bonus |
+--------+--------+------+-------+
| KING | 10 | 5000 | 300 |
| BLAKE | 30 | 2850 | 0 |
| CLARK | 10 | 2450 | 300 |
| JONES | 20 | 2975 | 500 |
| MARTIN | 30 | 1250 | 0 |
| TURNER | 30 | 1500 | 0 |
| JAMES | 30 | 950 | 0 |
| WARD | 30 | 1250 | 0 |
| FORD | 20 | 3000 | 500 |
| SMITH | 20 | 800 | 500 |
| SCOTT | 20 | 3000 | 500 |
| ADAMS | 20 | 1100 | 500 |
| MILLER | 10 | 1300 | 300 |
+--------+--------+------+-------+
13 rows in set (0.000 sec)
ㅇ리눅스에 workbench 설치해서 maria db를 편하게 사용하기
다음 작업은 putty 해서 하지말고 리눅스 서버 안에 터미널창에 수행하고 root 유져로 접속해서 수행합니다.
인터넷이 연결 되어 있어야 하며, 아래의 명령어를 순서대로 실행 한다. ( root 권한으로 진행 )
아래 명령어 한줄씩 입력
yum install epel-release -y
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-release-el7-5.noarch.rpm -y
yum install mysql-workbench -y
마지막으로 다음 명령어 실행
mysql-workbench
새로운 터미널 창을 열고 아이피 주소를 확인합니다.
# ifconfifg
마리아 디비에 접속할 유져를 생성합니다. (putty에서 해도 됨)
# mysql -u root -p
MariaDB [(none)]> use orcl;
MariaDB [orcl]> create user scott@'192.168.122.1' identified by 'tiger';
MariaDB [orcl]> GRANT ALL PRIVILEGES ON orcl.* to scott@'192.168.122.1';
MariaDB [orcl]> flush privileges;
MariaDB [orcl]> exit;
그리고 scott 유져로 접속해봅니다.
# mysql -h 192.168.122.1 -u scott -p
> scott으로 접속됨.
접속이 잘되었으면 이제 아까 mysqlworkbench 열어놓은 창으로 돌아옵니다.
문제130. (오늘의 마지막 문제) 리눅스에 workbench설치하고 emp테이블을 조회한 결과를 화면 캡쳐해서 올리시오.
'Study > class note' 카테고리의 다른 글
리눅스 / 원격제어를 이용해서 리눅스 서버에 접속하는 방법 (0) | 2022.03.16 |
---|---|
리눅스 / mysql workbench (0) | 2022.03.15 |
리눅스 / 리눅스 vi편집기 명령어1 (0) | 2022.03.14 |
리눅스 / 리눅스 명령어3 (0) | 2022.03.14 |
리눅스 / putty로 서버 접속, 리눅스 명령어2 (0) | 2022.03.11 |