CentOS安装SQL2017
一、要求
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 清除日志