连接到 MSSQL

为了真正从 Linux 连接到服务器,我们需要安装 mssql-tools 包,它来自与我们刚刚设置的不同的存储库。
可以在这里找到:https://packages.microsoft.com/config/rhel/7/prod.repo

首先,我们将下载 prod.repo 文件的副本并将其放入 /etc/yum.repos.d/ 目录中。

[jack@onitroad ~]# wget https://packages.microsoft.com/config/rhel/7/prod.repo -O /etc/yum.repos.d/prod.repo

我们现在可以继续安装 mssql-tools 包,如下所示。

[jack@onitroad ~]# yum install mssql-tools -y

安装完成后,我们可以使用 sqlcmd 命令与数据库进行交互。
要查看如何运行 sqlcmd,只需使用-?选项。

不幸的是,当我们为密码指定 -P 选项时,似乎必须在命令行中提供密码,并且没有稍后提示输入的选项。
请记住,密码将存储在以这种方式运行的 bash 历史记录中。

[jack@onitroad ~]# sqlcmd -U SA -P password
1> create database test;
2> go
1> use test;
2> go
Changed database context to 'test'.
1> create table websites(domain varchar(255));
2> go
1> insert into websites (domain)
2> values ('onitroad.com');
3> go
(1 rows affected)
1> select domain
2> from websites;
3> go
domain
onitroad.com
(1 rows affected)

在本例中,我们创建了一个测试数据库,其中包含一个名为网站的表和一个域名列。
然后我们插入一个域名并使用 select 将其拉出,确认我们能够连接并且基本 SQL 查询似乎按预期工作。

在 CentOS 7 中安装 MSSQL

首先,我们将设置存储库文件,Microsoft 在此处为 RHEL 提供此文件的副本:https://packages.microsoft.com/config/rhel/7/mssql-server.repo

我们将使用 wget 命令将此文件复制到 /etc/yum.repos.d/ 目录,以便我们可以将它与 yum 或者 dnf 包管理器一起使用。

[jack@onitroad ~]# wget https://packages.microsoft.com/config/rhel/7/mssql-server.repo -O /etc/yum.repos.d/mssql-server.repo

现在存储库文件已就位,安装就像运行以下命令一样简单。

[jack@onitroad ~]# yum install mssql-server -y
...
+-------------------------------------------------------------------+
| Please run /opt/mssql/bin/sqlservr-setup to complete the setup of |
|                  Microsoft(R) SQL Server(R).                      |
+-------------------------------------------------------------------+

安装完成后,我们建议运行 /opt/mssql/bin/sqlservr-setup bash 脚本来完成安装过程。

在我的第一次安装尝试中,我收到以下错误,因为我的虚拟机仅使用 2GB 内存运行,因此在继续之前请确保我们有足够的内存。

sqlservr: This program requires a machine with at least 3250 megabytes of memory.
Microsoft(R) SQL Server(R) setup failed with error code 1.

一旦我们有足够的可用内存,我们就可以继续。

[jack@onitroad ~]# /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.

就是这样,Microsoft SQL Server 现在成功运行并侦听 TCP 端口 1434 上的流量。

[jack@onitroad ~]# 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 Fri 2014-12-30 02:26:37 PST; 38s ago
 Main PID: 2974 (sqlservr)
   CGroup: /system.slice/mssql-server.service
           ââ2974 /opt/mssql/bin/sqlservr
           ââ2995 /opt/mssql/bin/sqlservr
[jack@onitroad ~]# netstat -antp | grep 1434
tcp        0      0 127.0.0.1:1434          0.0.0.0:*               LISTEN      2995/sqlservr
如何在 CentOS Linux 上安装 Microsoft SQL Server
日期:2020-07-07 20:55:08 来源:oir作者:oir