分类 SQL Server 下的文章

一、要求

1.centos或redhat7.0以上系统
2.内存2G以上

二、安装步骤

1.设置sqlserver安装镜像

curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo > /etc/yum.repos.d/mssql-server.repo

2.执行安装

yum install -y mssql-server

完毕之后运行 sudo /opt/mssql/bin/mssql-conf setup 做相关配置
输入2使用Developer(免费,无生产许可)版本,再输入 Yes 接受许可,选择语言,设置系统管理员密码

完毕之后即可启动完成,如果内存不够安装失败则重新命令

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

3.下面查看我们安装的sql server版本

rpm -qa | grep mssql

4.查看安装的路径

find / -name mssql

5.设置开机启动

systemctl enable mssql-server

6.打开1433端口

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

7.几个命令

systemctl start mssql-server
systemctl restart mssql-server
systemctl stop mssql-server
systemctl status mssql-server

具体配置路劲为/opt/mssql/bin/mssql-conf

CentOS 8上安装MS SQL server

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
#SQL Server 2017使用python2和OpenSSL 1.0,你需要在不解析依赖关系的情况下安装软件包:
sudo yum -y install python2 compat-openssl10
sudo alternatives --set python /usr/bin/python2
sudo yum download mssql-server
sudo rpm -Uvh --nodeps mssql-server*rpm

再运行 sudo /opt/mssql/bin/mssql-conf setup 跟上面一样

安装SQL Server命令行工具
使用unixODBC开发包安装mssql-tools:

curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
yum -y install mssql-tools unixODBC-devel
vim /etc/profile.d/mssqltools.sh

输入内容:

export PATH=$PATH:/opt/mssql-tools/bin/

然后 source一下

source /etc/profile.d/mssqltools.sh

---------------- 自动备份 -----------------

2、添加crontab定时任务

crontab -e

添加定时任务,每天6点0分执行

0 6 * * * /home/backup/backup_mssql.sh

3、查看crontab定时任务

crontab -l

完整脚本代码:

#!/bin/bash
#sql备份目录
folder=/home/backup/db
cd $folder
day=`date +%Y%m%d`
#rm -rf $day
#mkdir $day
#cd $day
#数据库服务器,一般为localhost
host=localhost
#用户名
user=sa
#密码
password='mypassword'
#要备份的数据库
db=ASPState

#数据要保留的天数
days=5

#由于crontab命令是没环境变量,所以sqlcmd命令,要用全路径,否则定时执行会执行失败
/opt/mssql-tools/bin/sqlcmd -H$host -U$user -P$password -Q "
BACKUP DATABASE "$db"
TO DISK = '/home/backup/db/"$db$day".bak'
WITH FORMAT;
GO"

#删除之前的备份
#cd ..
day=`date -d "$days days ago" +%Y%m%d`
rm -rf "/home/backup/db/"$db$day".bak"
echo "remove "$db$day".bak"

---------------------- 相关操作 ----------------------

less /var/log/messages    系统日志
cat /dev/null>/var/log/messages    清除日志