Linux下(CentOS 7.6)安装并使用sql server 2017的操作步骤,以及中文乱码解决方法

maymay5 / 2024-10-12 / 原文

一、安装SQL Server

  • 1、安装 SQL Server 所需的python2(由于我这边是装了宝塔的,用的好像是python3,所以不需要,如果你们的情况一样,也可以跳过这个步骤)
sudo alternatives --config python
  • 如果未配置,请使用以下命令安装 Python2 和 OpenSSL10:
sudo yum install python2
sudo yum install compat-openssl10
  • 使用以下命令将 python2 配置为默认解释器:
sudo alternatives --config python
  • 2、下载 SQL Server 2017 (14.x) Red Hat 存储库配置文件
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

可以通过一下命令查看文件mssql-server.repo是否存在

ls -al /etc/yum.repos.d
  • 3、运行以下命令以安装 SQL Server
sudo yum install -y mssql-server
  • 4、包安装完成后,使用其完整路径运行 mssql-conf setup ,按照提示设置 SA 密码并选择版本。
sudo /opt/mssql/bin/mssql-conf setup

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

根据指引进行安装(记得选择2号版本也就是developer)

  • 5、完成配置后,验证服务是否正在运行
systemctl status mssql-server
  • 6、若要允许远程连接,请在 RHEL 防火墙上打开 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果为防火墙使用的是 FirewallD,则可以使用以下命令。(注意,如果是用宝塔,直接在宝塔里的安全进行设置,不需要用此命令,同时要记得在云服务器的安全组规则中加入1433)
sudo firewall
-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

其他常用指令

systemctl stop mssql-server #停止服务
systemctl start mssql-server #启动服务
systemctl enable mssql-server #自启动服务

中文乱码问题

方案1

--1.修改为单用户模式  
ALTER DATABASE 需要修改的数据库名 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;  
go  


--2.修改数据库字符集:Chinese_PRC_90_CI_AS  
ALTER DATABASE 需要修改的数据库名 COLLATE Chinese_PRC_90_CI_AS;  
go  


--3.修改为多用户模式   
ALTER DATABASE 需要修改的数据库名 SET MULTI_USER; go

方案2

--关闭服务
sudo systemctl stop mssql-server

sudo /opt/mssql/bin/mssql-conf set-collation

Chinese_PRC_CI_AS

sudo systemctl start mssql-server

--检查服务状态
systemctl status mssql-server