共计 13700 个字符,预计需要花费 35 分钟才能阅读完成。
微软已经发布了 SQL Server on Linux,目前支持 RedHat 和 Ubuntu 两种发行版。
下面我们来安装体验一下。
1. 获得 YUM 源:
YUM 的 repo 文件地址:
https://packages.microsoft.com/config/rhel/7/mssql-server.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:
[ | ]|
--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] | |
[ | ]|
[ | ]|
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! |
安装成功!
测试连接:
[ | ]|
Password: |
登陆成功。
创建数据库 test:
create database test; | |
go | |
use test; | |
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
正文完
星哥玩云-微信公众号