Linux下安装SQLSERVER2017
- 配置mssql-server的YUM源
curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
- 使用yum命令安装
yum install mssql-server
- 设置与激活
执行/opt/mssql/bin/mssql-conf setup命令,来做设置并激活SQL Server。
/opt/mssql/bin/mssql-conf setup
- 版本选择与密码设置
会有8个版本选择,其中前3个是免费激活使用的。
个人使用的话,可以选择第2个“Developer"。
选择版本后,会让你设置SQL Server数据库管理员的账号密码。(密码需要有字母、数字、特殊符号,并且大于8位)
- 查看SQL Server数据库服务
systemctl status mssql-server
- 防火墙设置
默认端口1433
查看防火状态 systemctl status firewalld 或 firewall-cmd --state
关闭防火墙 systemctl stop firewalld
开启防火墙 systemctl start firewalld
重启防火墙 systemctl reload firewalld 或 firewall-cmd --reload
开机禁用 systemctl disable firewalld
开机启用 systemctl enable firewalld
添加 firewall-cmd --zone=public --add-port=1433/tcp --permanent
查看 firewall-cmd --zone=public --query-port=1433/tcp
删除 firewall-cmd --zone=public --remove-port=1433/tcp --permanent
Linux下安装SQLSERVER命令行工具
- 配置安装源
curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
- 安装mssql-tools和unixODBC开发人员包
yum install mssql-tools unixODBC-devel
- 配置环境变量
依次运行以下命令
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source .bashrc
- 检查是否安装成功
sqlcmd
- 使用sqlcmd命令
sqlcmd -S localhost -U sa -P 'Admin123' 注:Admin123为sa密码
Linux下数据库常用操作
- 复制数据库文件至虚拟机
在 /usr/local下创建DataBase 文件夹 mkdir /usr/local/DataBase
复制到文件夹 /usr/local/DataBase
范例 mv /home/minyu/Downloads/DHC /usr/local/DataBase/DHC
- 附加数据库
sp_attach_db @dbname=R10_Standard,
@filename1=N'/usr/local/DataBase/DHC/R10_Standard.mdf',
@filename2=N'/usr/local/DataBase/DHC/R10_Standard_log.ldf'
- 分离数据库
sp_detach_db R10_Standard
- 备份数据库
首先得创建数据库备份文件目录 mkdir /usr/local/ dbbackup
backup database R10_Standard to disk='/usr/local/dbbackup/ R10_Standard.bak'
- 还原数据库
- 数据库不存在
restore database R10_Standard from disk='/usr/local/dbbackup/ R10_Standard.bak'
- 数据库已存在
restore database R10_Standard from disk='/usr/local/dbbackup/ R10_Standard.bak' with replace
- 自动备份数据库
通过创建定时任务来实现数据库自动备份
#/bin/bash
user=R10_Standard
passwd=Admin123
back_path=/usr/local/dbbackup/
db_name=R10_Standard
back_time=`date +%Y%m%d_%H%M%S`
back_filename=$back_path$db_name$back_time
del_time=`date -d "2 day ago" +"%Y%m%d"`
del_backfile=$back_path$db_name$del_time
sqlcmd -S localhost -U $user -P $passwd -d master -Q "BACKUP DATABASE $db_name to disk='$back_filename.bak'"
tar -zcPf $back_filename.tar.gz $back_filename.bak
rm -f $back_filename.bak
if [ -e $back_filename.tar.gz ];then
rm -rf $del_backfile*.gz
echo "database[R10_Standard] backup success! "
else
echo "database[R10_Standard] backup failed!"
fi
注意:本文归作者所有,未经作者允许,不得转载