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

在linux 一键yy安装SQL Server 2019

热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者比较重要的内容,希望大家能够喜欢,不足之处请大家多宝贵地意见,我们一起提升,守住自己的饭碗。

正文开始

今天主要介绍两种在CentOS 一键安装SQL Server 2019的方法。

一、离线安装

离线安装包下载地址:

    https://packages.microsoft.com/rhel/7/mssql-server-2019/Packages/m/
    复制

    1、安装mssql

      [root@localhost ~]# rpm -ivh root/mssql-server-15.0.4375.4-1.x86_64.rpm
      复制

      2、配置SQL Server

      运行sudo opt/mssql/bin/mssql-conf setup命令,版本默认,设置SA密码

        [root@localhost ~]# sudo opt/mssql/bin/mssql-conf setup
        复制

        3、安装命令行工具sqlcmd工具下载地址:

          https://packages.microsoft.com/rhel/7/prod/Packages/m/
          复制

            [root@localhost ~]# rpm -ivh mssql-tools-17.10.1.1-1.x86_64.rpm、unixODBC-devel-2.3.11-1.rh.x86_64.rpm、msodbcsql17-17.10.6.1-1.x86_64.rpm、unixODBC-2.3.11-1.rh.x86_64.rpm
            复制

            二、联网一键安装脚本

            重点来了,接下来是联网一键安装脚本,大家也可以下载下来上传一键安装。

            脚本内容

              #!/bin/bash
              set -euo pipefail
              # 检查root权限
              if [[ $EUID -ne 0 ]]; then
              echo "此脚本必须以root权限运行"
              exit 1
              fi
              # 用户输入配置
              read -p "请输入SA用户密码:" SA_PASSWORD
              read -p "选择SQL版本 (默认: Enterprise) [Evaluation/Developer/Express/Standard/Enterprise]:" SQL_EDITION
              SQL_EDITION=${SQL_EDITION:-Enterprise}
              # 安装依赖
              #配置本地离线yum源,iso必须挂载
              cd etc/yum.repos.d/
              rm -rf ./*
              cat <<EOF > etc/yum.repos.d/local.repo
              [centos]
              name=centos
              baseurl=file:///mnt
              gpgcheck=0
              enabled=1
              EOF
              mount dev/sr0 mnt
              yum clean all && yum makecache
              yum --setopt=assumeyes=1 install bzip2 libsss_nss_idmap gdb lsof cyrus-sasl cyrus-sasl-gssapi libatomic python3 -y
              sleep 20
              # 添加微软YUM源
              echo "正在配置YUM源..."
              cd etc/yum.repos.d/
              rm -rf ./*
              curl -o etc/yum.repos.d/mssql-server-2019.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
              curl -o etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo


              # 刷新YUM缓存
              yum clean all
              yum makecache


              # 安装核心组件
              echo "正在安装SQL Server..."
              yum install -y mssql-server






              # 安装工具集
              echo "正在安装工具组件..."
              ACCEPT_EULA=Y yum install -y mssql-tools unixODBC-devel


              # 设置环境变量
              echo "配置环境变量..."
              cat << EOF >> etc/profile.d/mssql.sh
              export PATH="/opt/mssql-tools/bin:\$PATH"
              EOF
              source etc/profile.d/mssql.sh


              # 初始化配置
              echo "执行初始化配置..."
              MSSQL_SA_PASSWORD=$SA_PASSWORD \
              MSSQL_PID=$SQL_EDITION \
              ACCEPT_EULA=Y \
              SQL_INSTALL_AGENT=Y \
              /opt/mssql/bin/mssql-conf -n setup


              # 创建数据目录
              echo "配置存储目录..."
              DATA_DIR="/data/mssql/1433"
              mkdir -p ${DATA_DIR}/{database,dbbackup,dump,tempdb}
              chown -R mssql:mssql ${DATA_DIR}
              chmod -R 750 ${DATA_DIR}


              # 基础配置
              echo "应用基础配置..."
              systemctl enable mssql-server.service
              systemctl restart mssql-server.service
              sleep 20
              /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir ${DATA_DIR}/database
              /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir ${DATA_DIR}/database
              /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir ${DATA_DIR}/dbbackup
              /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir ${DATA_DIR}/dump
              /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3000
              /opt/mssql/bin/mssql-conf set hadr.hadrenabled true
              /opt/mssql/bin/mssql-conf set sqlagent.enabled true




              echo "重启 SQL Server 服务..."
              systemctl restart mssql-server.service


              # 检查服务状态
              echo "检查服务状态..."
              systemctl status mssql-server.service




              # 等待服务启动
              sleep 10


              # 配置TempDB路径
              echo "配置TempDB..."
              /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" << EOF
              USE master;
              GO
              ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = '${DATA_DIR}/tempdb/tempdb.mdf');
              ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev2, FILENAME = '${DATA_DIR}/tempdb/tempdb2.ndf');
              ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = '${DATA_DIR}/tempdb/templog.ldf');
              GO
              EOF


              # 应用高级配置
              echo "应用高级配置..."
              /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" << EOF
              EXEC sp_configure 'show advanced options', 1;
              RECONFIGURE;
              EXEC sp_configure 'contained database authentication', 1;
              EXEC sp_configure 'backup checksum default', 1;
              EXEC sp_configure 'backup compression default', 1;
              EXEC sp_configure 'blocked process threshold (s)', 5;
              EXEC sp_configure 'max degree of parallelism', 2;
              RECONFIGURE;
              EOF


              # 最终重启
              systemctl restart mssql-server.service
              echo "安装完成!"
              echo "验证命令:systemctl status mssql-server.service"
              echo "连接命令:sqlcmd -S localhost -U sa -P '$SA_PASSWORD'"




              复制
                [root@localhost ~]# chmod +x mss.sh 
                [root@localhost ~]# ./mss.sh
                复制

                用Microsoft SQL Server Management Studio远程登录,执行命令查看版本

                  select @@VERSION;
                  go
                  复制

                  接下来,我们就可以正常使用SQL Server 2019了。

                  参考链接:

                  https://mp.weixin.qq.com/s/8u9rzxnPNzbmVknqReSwKQ

                  https://www.cnblogs.com/muhai/p/18352906


                  END
                  往期文章回顾

                  文中的概念来源于互联网,如有侵权,请联系我删除。

                  欢迎关注公众号:小周的数据库进阶之路,一起交流数据库、中间件和云计算等技术。如果觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。



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

                  评论