Liunx安装sqlserver数据库手把手从0开始


前言

公司需要把ERP的数据库迁移到liunx上,今天正好服务器挂了,正好边做边写记录下


一、系统安装宝塔面板

系统的安装就不在赘述,默认安装好系统开始

1. 使用的是centos,使用官方的安装命令

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

2. 修改面板信息

  • 根据显示的账号密码登录 账号密码信息
  • 绑定宝塔账号
    账号绑定
  • 选择安装环境,我这边只用左边图里的三个,按需勾选
    环境安装
  • 等待安装结束,按自己喜好在面板设置里修改如下信息
    信息修改

二、安装docker

1.在左侧docker栏选择安装docker

安装docker

2.安装sqlserver镜像

镜像名mcr.microsoft.com/mssql/server:2019-latest
镜像拉取

3.配置compose模板

compose模板信息,注意映射路径,三个都要

version: '3'
services:
  #服务名称
  sqlserver-db:
    #容器名称
    container_name: sqlserver-db
    #镜像名称
    image: mcr.microsoft.com/mssql/server:2019-latest
    restart: always
    #端口映射
    ports:
      - 1433:1433
    #挂载
    volumes:
      - /mssqlvol/data:/var/opt/mssql/data
      - /mssqlvol/log:/var/opt/mssql/log
      - /mssqlvol/secrets:/var/opt/mssql/secrets
    #环境变量
    environment:
      - ACCEPT_EULA=Y
      #SA用户密码长度必须至少为 8 个字符,并包含以下四组中的三组字符:大写字母、小写字母、10 位基数和符号
      - SA_PASSWORD=Sap123456789

模板

4.添加容器

在compose界面查看容器是否开启成功
在这里插入图片描述

5.赋予文件夹权限

在系统根目录下会出现一个mssqlvol的文件夹
使用winscp软件右键文件夹属性赋予7777权限
权限

6.启动容器

重新启动容器,使用winscp软件查看mssqlvol/log下是否有文件
使用工具navcat或者ssms进行连接
数据库连接成功

三、自动备份

1.备份数据库shell

#!/bin/bash
#设置mssql备份目录
folder=/var/opt/mssql/data/databack/
day=`date +%Y%m%d%H%M%S`
#数据库服务器,一般为localhost
host=localhost
#用户名
user=sa
#密码
password='数据库密码'
# 容器名称
containerId='sqlserver-db'

# 循环获取数据库名称
for line in $(docker exec $containerId /opt/mssql-tools/bin/sqlcmd \
   -S $host -U $user -P $password \
   -Q "select [name] from master.dbo.SysDatabases where [dbid] > 4")
do
    # 判断是否是数据库名称
    if [[ $line =~ ^[a-zA-Z0-9_]+$ && $line != 'name' && $line != 'rows' ]]; then
        echo "数据库 $line 开始备份"
        docker exec $containerId /opt/mssql-tools/bin/sqlcmd \
        -S $host -U $user -P $password \
        -Q "BACKUP DATABASE [$line] TO DISK = N'$folder$line/$line$day.bak' WITH NOFORMAT, NOINIT, NAME = N'$line Backup $day', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
    fi
done

2.在计划任务中添加shell脚本

备份

3.运行

  • 运行后会在data目录下生成databack目录,里面有数据库的bak备份
    运行界面
    备份目录

四、恢复数据

1.下载并打开SSMS

下载SSMS

选择自己的数据库ip连接

登录ssms

2.恢复数据库

点击自己的数据库右键-任务-还原-数据库

恢复数据库

在弹出的界面中按图中操作,选择自己备份的bak文件

我这边直接用了ERP的备份文件

注意:如果使用自己的bak文件,需要上传至sqlserver映射的文件夹内

备份选择

查看bak文件中的数据库信息

数据库信息
文件中信息

选项中勾选覆盖现有数据库

覆盖数据库

等待完成,我这边数据库100多G比较慢

等待还原进度

还原成功

还原成功

总结

总体来说还是比较简单的后面还比较顺利,容易出问题的点也是在还原sqlserver的时候,用了很多工具保险起见还是选择了官方的。想起来在学校时候用的sqlserver2008,这个界面基本没啥变化啊!
如果让我选择数据库的话,我还是喜欢mysql,轻量便捷备份也方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值