工作中有时候因为一些原因和考虑,需要在Linux平台上使用MS SQL数据库,本文主要讲解如何在CentOS系统上部署Microsoft SQL Server 2017数据库以及使用客户端进行连接。
系统环境:
系统:CentOS 7.7 64位
软件:SQL Server 2017
一、 Linux系统安装
开始在虚拟机上安装CentOS 7系统
设置语言,点击下一步
设置时区,点击完成
选择手动分区,点击完成
进行系统分区,实际可以根据磁盘大小业务需求来分,点击完成
设置网络,点击保存
设置主机名,点击应用
点击开始安装
设置root用户密码
安装完成后重启系统
二、 Linux系统配置
配置yum源
cd /etc/yum.repos.d/
mkdir -p backup
mv *.repo backup/
更新yum源
yum clean all
yum makecache
安装基本工具
yum install wget lrzsz net-tools tree -y
配置docker安装源
进行系统基本设置
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
setenforce 0
yum install chrony -y
cat > /etc/chrony.conf << EOF
pool ntp1.aliyun.com iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
EOF
systemctl restart chronyd ; systemctl enable chronyd
chronyc sources –v
yum install -y epel-release
yum install -y vim wget net-tools iptables iptables-services lrzsz
yum update -y && yum -y install wget git bind-utils jq psmisc vim nfs-utils
yum install -y yum-utils device-mapper-persistent-data lvm2 tar curl
设置防火墙
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd –reload
三、 部署Docker容器
安装docker
yum install -y docker-ce-18.06.1.ce
mkdir -p /data/docker
cat >> /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd --graph=/data/docker
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
systemctl enable docker && systemctl restart docker
四、 部署SQL Server
下载sql server镜像
docker pull mcr.microsoft.com/mssql/server:2017-latest
启动SQL Server服务
docker run --name sql2017 \
-e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Yanyuan2021' \
-e 'MSSQL_PID=EnterpriseCore' -p 1433:1433 \
--restart=always \
-v /data/mssql:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2017-latest
查看服务启动情况
五、 配置SQL客户端
安装SQL Server客户端连接工具
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/msprod.repo
wget https://packages.microsoft.com/rhel/7.3/prod/Packages/m/mssql-tools-17.10.1.1-1.x86_64.rpm
wget https://packages.microsoft.com/rhel/7.3/prod/Packages/m/msodbcsql17-17.10.1.1-1.x86_64.rpm
yum localinstall msodbcsql17-17.10.1.1-1.x86_64.rpm -y
yum localinstall mssql-tools-17.10.1.1-1.x86_64.rpm -y
yum update
yum install mssql-tools unixODBC-devel -y
设置环境变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
which sqlcmd
六、 测试SQL连通性
连接SQL 数据库
sqlcmd -S 192.168.8.122,1433 -U sa -P 'Yanyuan2021'
select @@version
GO
EXEC sp_configure 'remote access', 0;
GO
RECONFIGURE;
GO
退出连接
quit
使用Navicat连接SQL Server
连接后界面如下: