暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

快速入门:在 Red Hat 上安装 SQL Server 2022 并创建数据库

SQL数据库运维 2024-09-11
106

点击蓝色字关注“SQL数据库运维”,回复“SQL”获取2TB学习资源!

适用于: SQL Server - Linux

本快速入门介绍如何在 Red Hat Enterprise Linux (RHEL) 8.x 或 9.x 上安装 SQL Server 2022 (16.x)。然后可以使用 sqlcmd 进行连接,创建第一个数据库并运行查询。

注意:本教程需要用户输入和 Internet 连接。

先决条件

必须拥有 RHEL 8.x 计算机(内存至少为 2 GB)。

如果以前安装了 SQL Server 的社区技术预览版 (CTP) 或候选发布 (RC) 版本,则必须先删除旧存储库,然后再执行这些步骤。

安装 SQL Server

Red Hat 8环境下安装

以下用于安装 SQL Server 的命令指向 RHEL 8 存储库。

若要在 RHEL 上配置 SQL Server,请在终端中运行以下命令以安装 mssql-server
 包:

1、下载 SQL Server 2022 (16.x) Red Hat 8 存储库配置文件:

    sudo curl -o etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo

    如果要安装不同版本的 SQL Server,配置文件不同。

    2、运行以下命令以安装 SQL Server:
      sudo yum install -y mssql-server

      3、包安装完成后,使用其完整路径运行 mssql-conf setup
      ,按照提示设置 SA 密码并选择版本。作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。

        sudo /opt/mssql/bin/mssql-conf setup

        请记住为 SA 帐户指定强密码。需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。

        4、完成配置后,验证服务是否正在运行:

          systemctl status mssql-server

          5、若要允许远程连接,请在 RHEL 防火墙上打开 SQL Server 端口。默认的 SQL Server 端口为 TCP 1433。如果为防火墙使用的是 FirewallD,则可以使用以下命令:

            sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
            sudo firewall-cmd --reload

            此时,SQL Server 正在 RHEL 计算机上运行,随时可以使用!

            Red Hat 9环境下安装

            从 RHEL 9 开始,你可以将 SQL Server 作为启用 SELinux 的受限应用程序运行。

            要将 SQL Server 作为受限应用程序运行,请执行以下步骤:

            • 确保 SELinux 处于启用状态和强制模式下。

            • 使用本部分后面提到的步骤安装 mssql-server
               包。

            • 安装新的 mssql-server-selinux
               包。

              sudo yum install -y mssql-server-selinux
              要在 RHEL 9 上配置 SQL Server,请在终端中运行以下命令以安装 mssql-server
               包:

              1、下载 SQL Server 2022 (16.x) Red Hat 9 存储库配置文件:

                sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/9/mssql-server-2022.repo

                2、运行以下命令以安装 SQL Server:

                  sudo yum install -y mssql-server

                  (可选)如果要将 SQL Server 作为受限应用程序运行,则请安装启用了自定义策略的 mssql-server-selinux
                   包。

                    sudo yum install -y mssql-server-selinux

                    3、包安装完成后,使用其完整路径运行 mssql-conf setup
                    ,按照提示设置 SA 密码并选择版本。作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。

                      sudo /opt/mssql/bin/mssql-conf setup

                      请记住为 SA 帐户指定强密码。需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。

                      4、完成配置后,验证服务是否正在运行:

                        systemctl status mssql-server

                        5、若要允许远程连接,请在 RHEL 防火墙上打开 SQL Server 端口。默认的 SQL Server 端口为 TCP 1433。如果为防火墙使用的是 FirewallD,则可以使用以下命令:

                          sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
                          sudo firewall-cmd --reload

                          此时,SQL Server 正在 RHEL 计算机上运行,随时可以使用!

                          将 sa 帐户禁用

                          1、创建新的登录帐户,并将其设为 sysadmin 服务器角色的成员。

                          • 根据你使用的是容器还是非容器部署,启用 Windows 身份验证,并创建一个新的基于 Windows 的登录帐户,并将其添加到 sysadmin 服务器角色中。

                          • 否则,请使用 SQL Server 身份验证创建登录帐户,并将其添加到 sysadmin 服务器角色。

                          2、使用创建的新登录帐户连接 SQL Server 实例。

                          3、按照安全最佳做法的建议,禁用 sa 帐户。

                          安装 SQL Server 命令行工具

                          若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。按照以下步骤安装 SQL Server 命令行工具:sqlcmd 实用工具 和 bcp 实用工具。

                          通过以下步骤在 Red Hat Enterprise Linux 上安装 mssql-tools18

                          1、下载 Microsoft Red Hat 存储库配置文件。

                          • 对于 Red Hat 9,请使用以下命令:

                            curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
                            • 对于 Red Hat 8,请使用以下命令:

                              curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
                              • 对于 Red Hat 7,请使用以下命令:

                                curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

                                2、如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。

                                  sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel

                                  3、运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools18

                                    sudo yum install -y mssql-tools18 unixODBC-devel

                                    若要将 mssql-tools 更新至最新版本,请运行以下命令:

                                      sudo yum check-update
                                      sudo yum update mssql-tools18

                                      4、可选:向 bash shell 中的 PATH
                                       环境变量添加 /opt/mssql-tools18/bin/

                                      若要使 sqlcmd 和 bcp 能从登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile
                                       文件中的 PATH

                                        echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
                                        source ~/.bash_profile

                                        若要使 sqlcmd 和 bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc
                                         文件中的 PATH

                                          echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
                                          source ~/.bashrc

                                          本地连接

                                          以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。

                                          1、使用 SQL Server 名称 (-S)、用户名 (-U) 和密码 (-P) 的相应参数运行 sqlcmd。在本教程中,用户进行本地连接,因此服务器名称为 localhost。用户名为 sa,密码是在安装过程中为 SA 帐户提供的密码。

                                            sqlcmd -S localhost -U sa -P '<YourPassword>'

                                            可以在命令行上省略密码,以收到密码输入提示。

                                            如果以后决定进行远程连接,请为 -S
                                             参数指定计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。

                                            2、如果成功,应会显示 sqlcmd 命令提示符:1>

                                            3、如果连接失败,先尝试诊断错误消息中所述的问题。

                                            创建和查询数据

                                            下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。

                                            新建数据库

                                            以下步骤创建一个名为 TestDB
                                             的新数据库。

                                            1、在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:

                                              CREATE DATABASE TestDB;

                                              2、在下一行中,编写一个查询以返回服务器上所有数据库的名称:

                                                SELECT Name from sys.databases;

                                                3、前两个命令没有立即执行。必须在新行中键入 GO
                                                 才能执行以前的命令:

                                                  GO

                                                  插入数据

                                                  接下来创建一个新表 dbo.Inventory
                                                  ,然后插入两个新行。

                                                  1、在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB
                                                   数据库:

                                                    USE TestDB;

                                                    2、创建名为 dbo.Inventory
                                                     的新表:

                                                      CREATE TABLE dbo.Inventory (
                                                      id INT,
                                                      name NVARCHAR(50),
                                                      quantity INT,
                                                      PRIMARY KEY (id)
                                                      );

                                                      3、将数据插入新表:

                                                        INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
                                                        INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);

                                                        4、要执行上述命令的类型 GO

                                                          GO

                                                          退出 sqlcmd 命令提示符

                                                          要结束 sqlcmd 会话,请键入 QUIT

                                                            QUIT

                                                            跨平台数据工具

                                                            除“sqlcmd”以外,还可以使用以下跨平台工具来管理 SQL Server :

                                                            从 Windows 进行连接

                                                            Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。

                                                            如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。必须使用目标 Linux 计算机名称或 IP 地址,而不是 localhost
                                                            ,并确保 TCP 端口 1433 已在 SQL Server 计算机上打开。

                                                            文章参考来源:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver16&tabs=rhel9

                                                            点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。


                                                            动动小手点击加关注呦☟☟☟

                                                            文章转载自SQL数据库运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                            评论