CentOS7中安装SQL Server 2019 for Docker和sqlcmd工具

本文介绍SQLServer2019的新增功能,包括大数据群集、容器注册表、Linux上的复制支持等,并提供使用Docker在Linux环境下安装和运行SQLServer2019的详细步骤,以及如何通过sqlcmd工具进行数据库连接。

SQL Server 2019 为 SQL Server 引入了 大数据群集。 它还为 SQL Server 数据库引擎、SQL Server Analysis Services、SQL Server 机器学习服务、Linux 上的 SQL Server 和 SQL Server Master Data Services 提供了附加功能和改进。

相对于SQL Server 2017 新增以下功能

新增功能或更新详细信息
新建容器注册表开始使用 Docker 上的 SQL Server 容器
复制支持Linux 上的 SQL Server 复制
支持 Microsoft 分布式事务处理协调器 (MSDTC)如何在 Linux 上配置 MSDTC
OpenLDAP 支持第三方 AD 提供商教程:对 Linux 上的 SQL Server 使用 Active Directory 身份验证
Linux 上的机器学习在 Linux 上配置机器学习
tempdb 改进:默认情况下,Linux 上的 SQL Server 新安装会根据逻辑内核数创建多个 tempdb 数据文件(最多 8 个数据文件)。 这不适用于就地次要版本或主版本升级。 每个 tempdb 文件的大小为 8MB,且自动增长大小为 64MB。 此行为类似于 Windows 上的默认 SQL Server 安装。
Linux 上的 PolyBase在 Linux 上为非 Hadoop 连接器安装 PolyBase

PolyBase 类型映射
变更数据捕获 (CDC) 支持Linux 上的 SQL Server 2019 现在支持变更数据捕获 (CDC)。

 

一、使用 Docker 安装并运行 SQL Server 2019

1. 拉取MSSQL2019-CTP3.2版本镜像

sudo docker pull mcr.microsoft.com/mssql/rhel/server:2019-CTP3.2

2. 运行容器

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Passw0rd" -p 1433:1433 -v /data/mssql:/var/opt/mssql -d mcr.microsoft.com/mssql/rhel/server:2019-CTP3.2

docker run 的参数说明:

参数描述
-e 'ACCEPT_EULA=Y'固定值,用以确认接受用户许可协议
-e "MSSQL_SA_PASSWORD=Passw0rd"指定SQLSERVER的密码(至少包含 8 个字符的强密码)
-p 1433:1433将物理机的IP地址映射到容器端口
-v /data/mssql:/var/opt/mssql将物理机的 /data/mssql 目录映射到容器中
--name sql1为容器指定一个自定义名称(不设置时是系统自动随机生成)
mcr.microsoft.com/mssql/rhel/server:2019-CTP3.2SQL Server 2019 CTP3.2 容器镜像

3. 查看运行状态

docker ps -a

 

二、使用 sqlcmd 连接到 SQL Server

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

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

2. 安装 mssql-tools

sudo yum install mssql-tools unixODBC-devel

如果安装了早期版本的 mssql-tools,使用下面的命令删除旧的 unixODBC 包
sudo yum remove mssql-tools unixODBC-utf16-devel

想要在 bash shell 中运行 sqlcmd,需要向 PATH 环境变量添加 /opt/mssql-tools/bin/

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

3. 连接到 SQL Server

使用 sqlcmd 连接到本地Docker上运行的SQL Server,连接账号 sa,密码是运行容器时设置的密码。

sqlcmd -S 127.0.0.1 -U SA -P 'Passw0rd'

连接成功后,就可以使用 SQL 语句来操作数据库了。

<think>我们被要求安装OnlyOffice在CentOS 7上,不使用Docker。根据引用[2],在CentOS上部署OnlyOffice可能会遇到无法打开.doc, .ppt, .xls文件的问题,因为lib版本库不兼容。因此,我们需要特别注意依赖库的安装。 然而,官方文档通常推荐使用Docker安装,但用户要求非Docker环境。我们可以尝试通过编译源代码或使用其他方法安装。 根据OnlyOffice的官方文档,非Docker安装通常是在Debian/Ubuntu系统上。对于CentOS,官方没有提供直接的RPM包,但我们可以尝试从源代码构建。 但是,从源代码构建OnlyOffice Documentserver是一个复杂的过程,需要大量的依赖步骤。而且,根据引用[2],在CentOS上可能会遇到库不兼容的问题。 因此,我们需要考虑以下步骤: 1. 安装必要的依赖库 2. 下载OnlyOffice Documentserver的源代码 3. 编译并安装 4. 配置 但是,由于OnlyOffice官方并没有提供CentOS的非Docker安装指南,我们可能需要参考Ubuntu的安装步骤,并针对CentOS进行适配。 另外,我们也可以考虑使用其他方式,比如使用社区提供的脚本或第三方仓库。 经过搜索,我们发现在OnlyOffice的GitHub仓库中有一个用于在CentOS 7上构建的脚本:https://github.com/ONLYOFFICE/build_tools 我们可以利用这个仓库中的脚本来构建OnlyOffice。 步骤如下: ### 步骤1: 安装基本依赖 ```bash sudo yum install -y epel-release sudo yum install -y git nodejs npm make ``` ### 步骤2: 克隆构建工具仓库 ```bash git clone https://github.com/ONLYOFFICE/build_tools.git cd build_tools ``` ### 步骤3: 安装构建所需的依赖 ```bash sudo yum install -y yum-utils sudo yum-builddep -y ./rpmbuild/SPECS/onlyoffice-documentserver.spec ``` ### 步骤4: 构建OnlyOffice Documentserver ```bash npm install npm run build:rpm ``` ### 步骤5: 安装生成的RPM包 构建完成后,RPM包会生成在`./rpmbuild/RPMS/`目录下。根据架构不同,可能在`x86_64`或`noarch`目录下。进入该目录并安装所有RPM包: ```bash cd rpmbuild/RPMS/x86_64/ sudo yum install -y *.rpm ``` ### 步骤6: 启动服务 ```bash sudo systemctl start onlyoffice-documentserver ``` ### 步骤7: 设置开机启动 ```bash sudo systemctl enable onlyoffice-documentserver ``` ### 步骤8: 验证安装 打开浏览器访问:`http://服务器IP地址/`,应该能看到OnlyOffice的欢迎页面。 ### 注意事项: 1. 构建过程可能需要较长时间(取决于服务器性能)。 2. 服务器需要至少4GB内存(官方建议),否则构建过程可能会失败。 3. 如果遇到依赖问题,请根据错误信息安装相应的依赖包。 ### 常见问题: 1. 如果遇到无法打开旧版Office文件(.doc, .ppt, .xls)的问题,可能是由于CentOS的库不兼容。我们可以尝试安装额外的兼容库: ```bash sudo yum install -y libstdc++.i686 libstdc++-devel.i686 ``` 2. 如果构建过程中出现错误,请检查日志并尝试解决。也可以在OnlyOffice的社区寻求帮助。 以上步骤是基于OnlyOffice的构建工具仓库的说明。由于非Docker安装的复杂性,如果遇到无法解决的问题,可能需要考虑使用Docker安装(如引用[1]所示)或者使用Ubuntu系统。 ### 引用说明: [^1]: 引用中提供了Docker安装OnlyOffice的命令,但用户要求非Docker,所以仅供参考。 [^2]: 引用指出在CentOS上部署OnlyOffice可能会因为lib版本库不兼容而无法打开旧版Office文件,因此需要特别注意。 [^3]: 引用是关于CoreDNS的配置,与OnlyOffice无关,因此忽略。 ### 相关问题 1. 在CentOS 7安装OnlyOffice需要满足哪些系统要求? 2. 如何解决OnlyOffice在CentOS 7上无法打开旧版Office文件(.doc, .ppt, .xls)的问题? 3. 如何配置OnlyOffice以使用HTTPS访问?</think>### 在CentOS 7上非Docker安装OnlyOffice 在CentOS 7上不使用Docker安装OnlyOffice需要手动编译安装所有依赖组件,以下是详细步骤: #### 一、系统要求 1. 最小内存:4GB RAM 2. 磁盘空间:至少10GB 3. CentOS 7.6+(推荐7.9) #### 二、安装依赖环境 ```bash # 安装基础编译工具 sudo yum install -y epel-release sudo yum groupinstall -y "Development Tools" sudo yum install -y git cmake python3 nodejs npm \ libtool automake autoconf libicu-devel \ openssl-devel libcurl-devel libpng-devel \ freetype-devel fontconfig-devel # 安装PostgreSQL sudo yum install -y postgresql-server postgresql-contrib sudo postgresql-setup initdb sudo systemctl start postgresql sudo systemctl enable postgresql ``` #### 三、安装OnlyOffice Documentserver ```bash # 克隆构建工具 git clone https://github.com/ONLYOFFICE/build_tools.git cd build_tools # 安装构建依赖 npm install npm run build:rpm # 安装生成的RPM包 cd rpmbuild/RPMS/x86_64/ sudo yum install -y ./onlyoffice-documentserver-*.x86_64.rpm ``` #### 四、配置服务 ```bash # 创建数据目录 sudo mkdir -p /var/www/onlyoffice/Data sudo chown -R onlyoffice:onlyoffice /var/www/onlyoffice # 配置数据库 sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;" sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';" sudo -i -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE onlyoffice TO onlyoffice;" # 编辑配置文件 sudo vi /etc/onlyoffice/documentserver/local.json ``` ```json { "storage": { "fs": { "path": "/var/www/onlyoffice/Data" } }, "services": { "CoAuthoring": { "sql": { "type": "postgres", "dbHost": "localhost", "dbPort": "5432", "dbName": "onlyoffice", "dbUser": "onlyoffice", "dbPass": "onlyoffice" } } } } ``` #### 五、启动服务 ```bash sudo systemctl start onlyoffice-documentserver sudo systemctl enable onlyoffice-documentserver # 验证服务状态 curl http://localhost:8000/welcome ``` #### 六、防火墙配置 ```bash sudo firewall-cmd --permanent --add-port={8000,8083}/tcp sudo firewall-cmd --reload ``` #### 七、访问验证 通过浏览器访问: `http://<your-server-ip>:8000/welcome` 应显示OnlyOffice欢迎页面 #### 常见问题解决 1. **旧版Office文件无法打开问题**(如.doc/.xls): ```bash # 安装兼容库 sudo yum install -y libstdc++.i686 libstdc++-devel.i686 sudo ldconfig ``` 参考CentOS的lib版本库兼容性问题[^2] 2. **服务启动失败**: ```bash # 查看详细日志 journalctl -u onlyoffice-documentserver -n 100 ``` 3. **内存不足问题**: - 添加swap空间(至少2GB) - 修改JVM参数:`/etc/onlyoffice/documentserver/jvm.config` #### 性能优化建议 1. 启用NGINX反向代理(提升HTTPS性能) 2. 配置Redis缓存: ```bash sudo yum install -y redis sudo systemctl enable --now redis ``` 在`local.json`中添加Redis配置 > **重要提示**:非Docker安装需要手动维护所有依赖更新,建议定期检查[官方GitHub仓库](https://github.com/ONLYOFFICE)获取安全更新[^1]。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值