首页 / 数据库 / MySQL / 在Linux上开始安装 SQL Server on Linux
微软已经发布了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.repoResolving packages.microsoft.com (packages.microsoft.com)... 13.75.127.55Connecting to packages.microsoft.com (packages.microsoft.com)|13.75.127.55|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 220 [application/octet-stream]Saving to: "mssql-server.repo" 100%[=================================================================================================================================>] 220 --.-K/s in 0s2016-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 makecacheLoaded plugins: fastestmirror, langpacksbase | 3.6 kB 00:00:00extras | 3.4 kB 00:00:00openlogic | 1.3 kB 00:00:00packages-microsoft-com-mssql-server | 2.9 kB 00:00:00updates | 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:06Loading mirror speeds from cached hostfileopenlogic 54/54openlogic 54/54Metadata Cache Created 2. 通过yum安装sql server:Yum查找mssql的相关信息:[root@hwweb0 ~]# yum search mssqlLoaded plugins: fastestmirror, langpacksRepository packages-microsoft-com-mssql-server is listed more than once in the configurationLoading mirror speeds from cached hostfile=========================================================================== N/S matched: mssql ============================================================================mssql-server.x86_64 : Microsoft(R) SQL Server(R) Relational Database Enginemssql-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 mssqlLoaded plugins: fastestmirror, langpacksRepository packages-microsoft-com-mssql-server is listed more than once in the configurationLoading mirror speeds from cached hostfile=========================================================================== N/S matched: mssql ============================================================================mssql-server.x86_64 : Microsoft(R) SQL Server(R) Relational Database Enginemssql-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 -yLoaded plugins: fastestmirror, langpacksRepository packages-microsoft-com-mssql-server is listed more than once in the configurationpackages-microsoft-com-mssql-server | 2.9 kB 00:00:00Loading mirror speeds from cached hostfileResolving 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 MInstalled size: 138 MDownloading 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: NOKEYPublic key for mssql-server-14.0.1.246-6.x86_64.rpm is not installedmssql-server-14.0.1.246-6.x86_64.rpm | 138 MB 00:00:05Retrieving key from https://packages.microsoft.com/keys/microsoft.ascImporting GPG key 0xBE1229CF:Userid : "Microsoft (Release signing) <gpgsecurity@microsoft.com>"Fingerprint: bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cfFrom : https://packages.microsoft.com/keys/microsoft.ascRunning transaction checkRunning transaction testTransaction test succeededRunning transactionInstalling : 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-setupMicrosoft(R) SQL Server(R) Setup You can abort setup at anytime by pressing Ctrl-C. Start this programwith the --help option for information about running it in unattendedmode. The license terms for this product can be downloaded fromhttp://go.microsoft.com/fwlink/?LinkId=746388 and foundin /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.logfor more information.我采用的是A1的机器,配置过程提示,内存需要大于3G。把机器升级到A2:[root@hwchefserver bin]# ./sqlservr-setupMicrosoft(R) SQL Server(R) Setup You can abort setup at anytime by pressing Ctrl-C. Start this programwith the --help option for information about running it in unattendedmode. The license terms for this product can be downloaded fromhttp://go.microsoft.com/fwlink/?LinkId=746388 and foundin /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]: yDo you wish to enable SQL Server to start on boot? [y/n]: yCreated 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.serviceLoaded: 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 EngineLoaded: 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 agoMain 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.repoResolving packages.microsoft.com (packages.microsoft.com)... 13.75.127.55Connecting to packages.microsoft.com (packages.microsoft.com)|13.75.127.55|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 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 makecacheLoaded plugins: fastestmirror, langpacksbase | 3.6 kB 00:00:00extras | 3.4 kB 00:00:00openlogic | 1.3 kB 00:00:00packages-microsoft-com-mssql-server | 2.9 kB 00:00:00packages-microsoft-com-prod | 2.9 kB 00:00:00updates | 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:00Loading mirror speeds from cached hostfileMetadata Cache Created安装:[root@hwchefserver ~]# yum install mssql-toolsLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileResolving 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 kInstalling for dependencies:libtool-ltdl x86_64 2.4.2-21.el7_2 updates 49 kmsodbcsql x86_64 13.0.1.0-1 packages-microsoft-com-prod 3.8 MunixODBC-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 MInstalled size: 4.5 MIs this ok [y/d/N]: yDownloading 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:00Running transaction checkRunning transaction testTransaction test succeededRunning transactionInstalling : libtool-ltdl-2.4.2-21.el7_2.x86_64 1/4Installing : unixODBC-utf16-2.3.1-1.x86_64 2/4The license terms for this product can be downloaded fromhttp://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)YESInstalling : msodbcsql-13.0.1.0-1.x86_64 3/4The license terms for this product can be downloaded fromhttp://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)YESInstalling : mssql-tools-14.0.1.246-1.x86_64 4/4Verifying : libtool-ltdl-2.4.2-21.el7_2.x86_64 1/4Verifying : msodbcsql-13.0.1.0-1.x86_64 2/4Verifying : unixODBC-utf16-2.3.1-1.x86_64 3/4Verifying : 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 SAPassword:登陆成功。创建数据库test:1> create database test;2> go1> use test;2> goChanged database context to "test".查看数据库:1> select name from sys.databases;2> goname--------------------------------------------------------------------------------------------------------------------------------mastertempdbmodelmsdbtest创建表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> goid name gender age----------- -------------------- -------------------- -----------1 weiheng male 20 (1 rows affected)MSSQL Sever On Linux就这样安装完成了!本文永久更新链接地址