Linux下安装SQLSERVER2017

1年前 ⋅ 833 阅读

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

 


全部评论: 0

    我有话说: