微软已经发布了 SQL Server on Linux,目前支持和两种发行版。
下面我们来安装体验一下。
1. 获得 YUM 源:
YUM 的 repo 文件地址:
下载到本地:
- wget https://packages.microsoft.com/config/rhel/7/mssql-server.repo
- --2016-11-17 18:35:37-- https://packages.microsoft.com/config/rhel/7/mssql-server.repo
- Resolving packages.microsoft.com (packages.microsoft.com)... 13.75.127.55
- Connecting to packages.microsoft.com (packages.microsoft.com)|13.75.127.55|:443... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 220 [application/octet-stream]
- Saving to: 'mssql-server.repo'
- 100%[=================================================================================================================================>] 220 --.-K/s in 0s
- 2016-11-17 18:35:37 (47.7 MB/s) - 'mssql-server.repo' saved [220/220]
把此文件复制到 / etc/yum.repos.d 目录:
- cp mssql-server.repo /etc/yum.repos.d/
更新 yum 信息:
- [root@hwweb0 ~]# yum makecache
- Loaded plugins: fastestmirror, langpacks
- base | 3.6 kB 00:00:00
- extras | 3.4 kB 00:00:00
- openlogic | 1.3 kB 00:00:00
- packages-microsoft-com-mssql-server | 2.9 kB 00:00:00
- updates | 3.4 kB 00:00:00
- (1/13): extras/7/x86_64/prestodelta | 78 kB 00:00:00
- (2/13): openlogic/7/x86_64/filelists | 6.7 kB 00:00:00
- (3/13): openlogic/7/x86_64/other | 3.7 kB 00:00:00
- (4/13): extras/7/x86_64/filelists_db | 468 kB 00:00:01
- (5/13): extras/7/x86_64/other_db | 706 kB 00:00:00
- (6/13): packages-microsoft-com-mssql-server/filelists_db | 1.4 kB 00:00:00
- (7/13): packages-microsoft-com-mssql-server/other_db | 728 B 00:00:00
- (8/13): base/7/x86_64/other_db | 2.3 MB 00:00:01
- (9/13): updates/7/x86_64/prestodelta | 786 kB 00:00:00
- (10/13): updates/7/x86_64/filelists_db | 5.3 MB 00:00:01
- (11/13): base/7/x86_64/filelists_db | 6.2 MB 00:00:03
- (12/13): updates/7/x86_64/other_db | 79 MB 00:00:04
- (13/13): packages-microsoft-com-mssql-server/primary_db | 2.4 kB 00:00:06
- Loading mirror speeds from cached hostfile
- openlogic 54/54
- openlogic 54/54
- Metadata Cache Created
2. 通过 yum 安装 sql server:
Yum 查找 mssql 的相关信息:
- [root@hwweb0 ~]# yum search mssql
- Loaded plugins: fastestmirror, langpacks
- Repository packages-microsoft-com-mssql-server is listed more than once in the configuration
- Loading mirror speeds from cached hostfile
- =========================================================================== N/S matched: mssql ============================================================================
- mssql-server.x86_64 : Microsoft(R) SQL Server(R) Relational Database Engine
- mssql-server-ha.x86_64 : Microsoft(R) SQL Server(R) Relational Database Engine
- Name and summary matches only, use "search all" for everything.
可以看到有两个版本,ha 版本应该是做高可用性的版本。安装 mssql-server:
- [root@hwweb0 ~]# yum search mssql
- Loaded plugins: fastestmirror, langpacks
- Repository packages-microsoft-com-mssql-server is listed more than once in the configuration
- Loading mirror speeds from cached hostfile
- =========================================================================== N/S matched: mssql ============================================================================
- mssql-server.x86_64 : Microsoft(R) SQL Server(R) Relational Database Engine
- mssql-server-ha.x86_64 : Microsoft(R) SQL Server(R) Relational Database Engine
- Name and summary matches only, use "search all" for everything.
- [root@hwweb0 ~]# yum install mssql-server -y
- Loaded plugins: fastestmirror, langpacks
- Repository packages-microsoft-com-mssql-server is listed more than once in the configuration
- packages-microsoft-com-mssql-server | 2.9 kB 00:00:00
- Loading mirror speeds from cached hostfile
- Resolving Dependencies
- --> Running transaction check
- ---> Package mssql-server.x86_64 0:14.0.1.246-6 will be installed
- --> Finished Dependency Resolution
- Dependencies Resolved
- ===========================================================================================================================================================================
- Package Arch Version Repository Size
- ===========================================================================================================================================================================
- Installing:
- mssql-server x86_64 14.0.1.246-6 packages-microsoft-com-mssql-server 138 M
- Transaction Summary
- ===========================================================================================================================================================================
- Install 1 Package
- Total download size: 138 M
- Installed size: 138 M
- Downloading packages:
- warning: /var/cache/yum/x86_64/7/packages-microsoft-com-mssql-server/packages/mssql-server-14.0.1.246-6.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID be1229cf: NOKEY
- Public key for mssql-server-14.0.1.246-6.x86_64.rpm is not installed
- mssql-server-14.0.1.246-6.x86_64.rpm | 138 MB 00:00:05
- Retrieving key from https://packages.microsoft.com/keys/microsoft.asc
- Importing GPG key 0xBE1229CF:
- Userid : "Microsoft (Release signing) <gpgsecurity@microsoft.com>"
- Fingerprint: bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cf
- From : https://packages.microsoft.com/keys/microsoft.asc
- Running transaction check
- Running transaction test
- Transaction test succeeded
- Running transaction
- Installing : mssql-server-14.0.1.246-6.x86_64 1/1
- +-------------------------------------------------------------------+
- | Please run /opt/mssql/bin/sqlservr-setup to complete the setup of |
- | Microsoft(R) SQL Server(R). |
- +-------------------------------------------------------------------+
- Verifying : mssql-server-14.0.1.246-6.x86_64 1/1
- Installed:
- mssql-server.x86_64 0:14.0.1.246-6
- Complete!
这样就安装好了。
3. 配置 sql server
- [root@hwweb0 bin]# pwd
- /opt/mssql/bin
- [root@hwweb0 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...
- sqlservr: This program requires a machine with at least 3250 megabytes of memory.
- Microsoft(R) SQL Server(R) setup failed with error code 1.
- Please check the setup log in /var/opt/mssql/log/setup-20161117-184346.log
- for more information.
我采用的是 A1 的机器,配置过程提示,内存需要大于 3G。把机器升级到 A2:
- [root@hwchefserver 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.
配置成功。检查状态:
- [root@hwchefserver bin]# systemctl status mssql
- ● mssql.service
- Loaded: not-found (Reason: No such file or directory)
- Active: inactive (dead)
- [root@hwchefserver bin]# 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 Thu 2016-11-17 19:52:06 UTC; 37s ago
- Main PID: 1539 (sqlservr)
- CGroup: /system.slice/mssql-server.service
- ├─1539 /opt/mssql/bin/sqlservr
- └─1547 /opt/mssql/bin/sqlservr
- Nov 17 19:52:14 hwchefserver sqlservr[1539]: 2016-11-17 19:52:15.06 spid17s SQL Server is now ready for client connections. This is an infor...equired.
- Nov 17 19:52:15 hwchefserver sqlservr[1539]: 2016-11-17 19:52:15.13 spid6s Polybase feature disabled.
- Nov 17 19:52:15 hwchefserver sqlservr[1539]: 2016-11-17 19:52:15.13 spid6s Clearing tempdb database.
- Nov 17 19:52:16 hwchefserver sqlservr[1539]: 2016-11-17 19:52:16.91 spid6s Starting up database 'tempdb'.
- Nov 17 19:52:17 hwchefserver sqlservr[1539]: 2016-11-17 19:52:17.58 spid6s The tempdb database has 1 data file(s).
- Nov 17 19:52:17 hwchefserver sqlservr[1539]: 2016-11-17 19:52:17.58 spid20s The Service Broker endpoint is in disabled or stopped state.
- Nov 17 19:52:17 hwchefserver sqlservr[1539]: 2016-11-17 19:52:17.58 spid20s The Database Mirroring endpoint is in disabled or stopped state.
- Nov 17 19:52:17 hwchefserver sqlservr[1539]: 2016-11-17 19:52:17.67 spid20s Service Broker manager has started.
- Nov 17 19:52:17 hwchefserver sqlservr[1539]: 2016-11-17 19:52:17.71 spid5s Recovery is complete. This is an informational message only. No ...equired.
- Nov 17 19:52:22 hwchefserver sqlservr[1539]: 2016-11-17 19:52:22.59 spid35s The activated proc '[dbo].[sp_syspolicy_events_reader]' running on queue...
- Hint: Some lines were ellipsized, use -l to show in full.
SQL Server 已经在运行。
3. 检查
安装 SQL Tools。SQL Tools:sqlcmd 是 mssql ODBC 的一个工具,可以通过 yum 的 repo 直接 yum 安装。
首先下载 yum 的 repo:
- [root@hwchefserver ~]# wget https://packages.microsoft.com/config/rhel/7/prod.repo
- --2016-11-17 19:59:49-- https://packages.microsoft.com/config/rhel/7/prod.repo
- Resolving packages.microsoft.com (packages.microsoft.com)... 13.75.127.55
- Connecting to packages.microsoft.com (packages.microsoft.com)|13.75.127.55|:443... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 193 [application/octet-stream]
- Saving to: 'prod.repo'
- 100%[=================================================================================================================>] 193 --.-K/s in 0s
- 2016-11-17 19:59:50 (30.2 MB/s) - 'prod.repo' saved [193/193]
- [root@hwchefserver ~]# mv prod.repo /etc/yum.repos.d/
- [root@hwchefserver ~]# yum makecache
- Loaded plugins: fastestmirror, langpacks
- base | 3.6 kB 00:00:00
- extras | 3.4 kB 00:00:00
- openlogic | 1.3 kB 00:00:00
- packages-microsoft-com-mssql-server | 2.9 kB 00:00:00
- packages-microsoft-com-prod | 2.9 kB 00:00:00
- updates | 3.4 kB 00:00:00
- (1/3): packages-microsoft-com-prod/filelists_db | 2.7 kB 00:00:00
- (2/3): packages-microsoft-com-prod/other_db | 10 kB 00:00:00
- (3/3): packages-microsoft-com-prod/primary_db | 4.6 kB 00:00:00
- Loading mirror speeds from cached hostfile
- Metadata Cache Created
安装:
- [root@hwchefserver ~]# yum install mssql-tools
- Loaded plugins: fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- Resolving Dependencies
- --> Running transaction check
- ---> Package mssql-tools.x86_64 0:14.0.1.246-1 will be installed
- --> Processing Dependency: msodbcsql for package: mssql-tools-14.0.1.246-1.x86_64
- --> Running transaction check
- ---> Package msodbcsql.x86_64 0:13.0.1.0-1 will be installed
- --> Processing Dependency: unixODBC-utf16 for package: msodbcsql-13.0.1.0-1.x86_64
- --> Processing Dependency: libodbcinst.so.2()(64bit) for package: msodbcsql-13.0.1.0-1.x86_64
- --> Running transaction check
- ---> Package unixODBC-utf16.x86_64 0:2.3.1-1 will be installed
- --> Processing Dependency: libltdl.so.7()(64bit) for package: unixODBC-utf16-2.3.1-1.x86_64
- --> Running transaction check
- ---> Package libtool-ltdl.x86_64 0:2.4.2-21.el7_2 will be installed
- --> Finished Dependency Resolution
- Dependencies Resolved
- ===========================================================================================================================================================
- Package Arch Version Repository Size
- ===========================================================================================================================================================
- Installing:
- mssql-tools x86_64 14.0.1.246-1 packages-microsoft-com-prod 249 k
- Installing for dependencies:
- libtool-ltdl x86_64 2.4.2-21.el7_2 updates 49 k
- msodbcsql x86_64 13.0.1.0-1 packages-microsoft-com-prod 3.8 M
- unixODBC-utf16 x86_64 2.3.1-1 packages-microsoft-com-prod 329 k
- Transaction Summary
- ===========================================================================================================================================================
- Install 1 Package (+3 Dependent packages)
- Total download size: 4.5 M
- Installed size: 4.5 M
- Is this ok [y/d/N]: y
- Downloading packages:
- (1/4): libtool-ltdl-2.4.2-21.el7_2.x86_64.rpm | 49 kB 00:00:00
- (2/4): msodbcsql-13.0.1.0-1.x86_64.rpm | 3.8 MB 00:00:00
- (3/4): mssql-tools-14.0.1.246-1.x86_64.rpm | 249 kB 00:00:00
- (4/4): unixODBC-utf16-2.3.1-1.x86_64.rpm | 329 kB 00:00:00
- -----------------------------------------------------------------------------------------------------------------------------------------------------------
- Total 8.3 MB/s | 4.5 MB 00:00:00
- Running transaction check
- Running transaction test
- Transaction test succeeded
- Running transaction
- Installing : libtool-ltdl-2.4.2-21.el7_2.x86_64 1/4
- Installing : unixODBC-utf16-2.3.1-1.x86_64 2/4
- The license terms for this product can be downloaded from
- http://go.microsoft.com/fwlink/?LinkId=746838 and found in
- /usr/share/doc/msodbcsql/LICENSE.TXT . By entering 'YES',
- you indicate that you accept the license terms.
- Do you accept the license terms? (Enter YES or NO)
- YES
- Installing : msodbcsql-13.0.1.0-1.x86_64 3/4
- The license terms for this product can be downloaded from
- http://go.microsoft.com/fwlink/?LinkId=746949 and found in
- /usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
- you indicate that you accept the license terms.
- Do you accept the license terms? (Enter YES or NO)
- YES
- Installing : mssql-tools-14.0.1.246-1.x86_64 4/4
- Verifying : libtool-ltdl-2.4.2-21.el7_2.x86_64 1/4
- Verifying : msodbcsql-13.0.1.0-1.x86_64 2/4
- Verifying : unixODBC-utf16-2.3.1-1.x86_64 3/4
- Verifying : mssql-tools-14.0.1.246-1.x86_64 4/4
- Installed:
- mssql-tools.x86_64 0:14.0.1.246-1
- Dependency Installed:
- libtool-ltdl.x86_64 0:2.4.2-21.el7_2 msodbcsql.x86_64 0:13.0.1.0-1 unixODBC-utf16.x86_64 0:2.3.1-1
- Complete!
安装成功!
测试连接:
- [root@hwchefserver ~]# sqlcmd -S localhost -U SA
- Password:
登陆成功。
创建数据库 test:
- 1> create database test;
- 2> go
- 1> use test;
- 2> go
- Changed database context to 'test'.
查看数据库:
- 1> select name from sys.databases;
- 2> go
- name
- --------------------------------------------------------------------------------------------------------------------------------
- master
- tempdb
- model
- msdb
- test
创建表 hwtable:
- 1> create table hwtable ( id int, name varchar(20), gender varchar(20), age int);
- 2> go
插入数据:
- 1> insert into hwtable values (1, 'weiheng','male',20);
- 2> go
查询:
- 1> select * from hwtable;
- 2> go
- id name gender age
- ----------- -------------------- -------------------- -----------
- 1 weiheng male 20
- (1 rows affected)
MSSQL Sever On Linux 就这样安装完成了!
来源: http://www.linuxidc.com/Linux/2016-12/138267.htm