2020. 1. 9. 15:30ㆍ데이터베이스
1. 설치 환경
SQL Server가 2017 버젼부터 리눅스를 지원하게 됐다. 그래서 기존에 구동중인 CentOS 6.7 버전에 설치를 해보려했으나 실패. 왜 그런지 찾아보니 CentOS 7.3 버전 이상부터 설치가 가능하다고 한다. 그래서 먼저 가상머신에 CentOS 7.4 버전을 준비했다.
$ cat /etc/system-releaseCentOS Linux release 7.4.1708 (Core)
CentOS Linux release 7.4.1708 (Core)
2. 설치
온라인 리포지토리를 이용해 설치할 수 있지만, 나는 rpm 파일을 직접 다운받아서 설치해보도록 하겠다.
- 엔진 패키지 다운로드
https://packages.microsoft.com/rhel/7/mssql-server-2017/mssql-server-14.0.3238.1-19.x86_64.rp
위 링크를 통해 다운로드한다. 그 후 루트계정에서 설치를 진행한다.
# yum localinstall mssql-server-14.0.3238.1-19.x86_64.rpm
.
.
.
.
+--------------------------------------------------------------+
'sudo /opt/mssql/bin/mssql-conf setup'을 실행하여
Microsoft SQL Server의 설정을 완료하세요.
+--------------------------------------------------------------+
이 설정을 적용하려면 SQL Server를 다시 시작해야 합니다.
'systemctl restart mssql-server.service'를 실행하세요.
Verifying : mssql-server-14.0.3238.1-19.x86_64 1/1
Installed:
mssql-server.x86_64 0:14.0.3238.1-19
위와 같이 메세지가 나오면 그대로 따라해준다.
$ sudo /opt/mssql/bin/mssql-conf setup
SQL Server의 버전을 선택합니다.
1) Evaluation (무료, 프로덕션 사용권 없음, 180일 제한)
2) Developer (무료, 프로덕션 사용권 없음)
3) Express (무료)
4) Web (유료)
5) Standard (유료)
6) Enterprise (유료)
7) Enterprise Core (유료)
8) 소매 채널을 통해 라이선스를 구했으며 입력할 제품 키가 있습니다.
버전 세부 정보는 다음 위치에서 확인할 수 있음
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x412
이 소프트웨어의 유료 버전을 사용하려면
Microsoft Volume Licensing 프로그램을 통해 라이선스를 받아야 합니다.
유료 버전을 선택하는 경우 이 소프트웨어를 설치 및 실행하는 데 필요한
적절한 라이선스 번호가 있음을 확인하는 것입니다.
버전 입력(1-8): 2
이 제품의 사용 조건은 다음 위치에서 확인하거나
/usr/share/doc/mssql-server 다운로드할 수 있습니다.
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x412
개인정보처리방침은 다음 위치에서 확인할 수 있습니다.
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x412
사용 조건에 동의하시겠습니까? [Yes/No]:y
SQL Server의 언어를 선택합니다.
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Русский
(10) 中文 – 简体
(11) 中文 (繁体)
옵션 1-11을 입력합니다. 7
SQL Server 시스템 관리자 암호 입력:
지정한 암호는 너무 짧기 때문에 SQL Server 암호 정책 요구 사항을 충족하지 않습니다. 암호는 8자 이상이어야 합니다.
SQL Server 시스템 관리자 암호 입력:
지정한 암호는 너무 짧기 때문에 SQL Server 암호 정책 요구 사항을 충족하지 않습니다. 암호는 8자 이상이어야 합니다.
SQL Server 시스템 관리자 암호 입력:
지정한 암호는 복잡하지 않기 때문에 SQL Server 암호 정책 요구 사항을 충족하지 않습니다. 암호는 길이가 8자 이상이어야 하며 4가지 문자 집합인 영문 대문자, 영문 소문자, 숫자 및 기호 중 3가지를 포함해야 합니다.
SQL Server 시스템 관리자 암호 입력:
지정한 암호는 복잡하지 않기 때문에 SQL Server 암호 정책 요구 사항을 충족하지 않습니다. 암호는 길이가 8자 이상이어야 하며 4가지 문자 집합인 영문 대문자, 영문 소문자, 숫자 및 기호 중 3가지를 포함해야 합니다.
SQL Server 시스템 관리자 암호 입력:
SQL Server 시스템 관리자 암호 확인:
SQL Server 구성 중...
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
설치가 완료되었습니다. 이제 SQL Server를 시작하는 중입니다.
테스트 용으로 설치하기 때문에 버전은 Developer, 한국어로 설치하고 시스템 관리자 암호를 설정했다. 시스템 관리자 암호를 자꾸 간단한 게 적었더니 다시 쓰라고 해서 복잡하게 적어줬다. ^_^
# systemctl restart mssql-server.service
# systemctl status mssql-server.service
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
Active: active (running) since 목 2020-01-09 11:28:44 KST; 36s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 5165 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─5165 /opt/mssql/bin/sqlservr
└─5172 /opt/mssql/bin/sqlservr
서비스를 재구동 해준 뒤 상태를 보니 정상적으로 설치가 된것을 확인했다.
3. 데이터베이스 생성
데이터베이스 생성을 위해서는 SQL Server의 sqlcmd, bcp를 설치해야 한다.
- 먼저 리포지토리 구성 파일을 다운로드한다.
$ sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
- 그리고 unixODBC 개발자 패키지와 mssql-tools를 설치한다.
$ sudo yum install -y mssql-tools unixODBC-devel
- 마지막으로 환경변수를 추가한다.
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
$ source ~/.bashrc
이제 sqlcmd를 이용해 SQL Server에 연결을 할 수 있게 됐다.
- 다음과 같이 로컬에 연결을 해본다.
$ sqlcmd -S localhost -U SA -P '<비밀번호>'
1>
성공하면 위와 같이 1>이 표시된다.
- 데이터베이스 생성
1> CREATE DATABASE TestDB
- 서버에 있는 모든 데이터베이스 이름 조회
2> SELECT Name from sys.Databases
- 위에 두 쿼리를 실행하기 위해 go 명령어 입력
3> GO
name
----------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
TestDB
- 데이터베이스 생성 완료!
데이터베이스를 사용하기위해서 use 명령어를 사용한다.
1> use TestDB
- test라는 새 테이블 생성
2> create table test (a int)
- 데이터 삽입
3> insert into test values (1)
- 앞의 명령어들 실행
4> go
- 테이블 데이터 조회
1> select * from test
2> go
a
-----------
1
출처: https://docs.microsoft.com/ko-kr/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-2017
'데이터베이스' 카테고리의 다른 글
MAC OS X에서 Oracle SQLPlus 사용하기 (0) | 2020.02.09 |
---|