最近、あのMicrosoftがOSSに歩み寄ってきており、先日にはLinux Foundationのプラチナメンバーにまでなった。何があるかわからないものだなぁ…。
で、先日知ったのだがどうやらMicrosoft SQL ServerもLinuxにインストールできるようになってたようだ。一体どういうことなんだ…。
というわけで、せっかくなのでCentOS 7にMicrosoft SQL Serverをインストールしてみる。手順についてはMicrosoftで用意されているRHEL用のものを使用する(なお、Ubuntu Serverの場合はこちら)。事前にsudoが使用できるユーザ(今回はmssql)を作成しておくこと。インストールには4GB以上のメモリが必要になるので注意。 まず、以下のコマンドでリポジトリの追加を行う。
curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
リポジトリ追加後、ユーザを切り替えて、Microsoft SQL Serverのインストールを行う。
su - mssql
sudo yum install -y mssql-server
インストール完了後、以下のコマンドを実行しSQL Serverのセットアップを行う。
sudo /opt/mssql/bin/sqlservr-setup
[mssql@BS-PUB-CENT7-01 ~]$ sudo /opt/mssql/bin/sqlservr-setup
Microsoft(R) SQL Server(R) Setup
You can abort setup at anytime by pressing Ctrl-C. Start this program
with the --help option for information about running it in unattended
mode.
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388 and found
in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? If so, please type "YES": YES
Please enter a password for the system administrator (SA) account:
Please confirm the password for the system administrator (SA) account:
Setting system administrator (SA) account password...
Do you wish to start the SQL Server service now? [y/n]: y
Do you wish to enable SQL Server to start on boot? [y/n]: y
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server-telemetry.service to /usr/lib/systemd/system/mssql-server-telemetry.service.
Setup completed successfully.
最後に、以下のコマンドでFirewalldの設定を変更する。
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
これで、CentOSへのSQL Serverのインストールは完了。
プロセスの状態は以下のコマンドで確認できる。
systemctl status mssql-server
[mssql@BS-PUB-CENT7-01 ~]$ systemctl status mssql-server
● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
Active: active (running) since 月 2016-11-21 01:08:49 JST; 1min 2s ago
Main PID: 10616 (sqlservr)
CGroup: /system.slice/mssql-server.service
tq10616 /opt/mssql/bin/sqlservr
mq10629 /opt/mssql/bin/sqlservr