Centos7.*里面安装MSSQL

在Centos7.*上安装MSSQL主要包含了以下几个步骤:

  1.设置安装源

  2.安装SQL服务端

  3.安装SQL客户端

  4.执行SQL还原DB

约定:

  1.宿主主机Win10

  2.虚拟机Centos,Centos版本必须>=7.0,本文使用7.6版本

  3.容器安装到虚拟机里面

  4.容器名称为mssql2017

  5.mssql秘密设定为TYdemo@2020

  6.虚拟机目录 /opt/mssql 映射到容器 /var/opt/mssql ,里面包含了 data,log

准备:

  mkdir /opt/mssql/

  mkdir /opt/mssql/backup

  win10备份一个SQL库,暂定取名为AAA_v3.bak

操作:

  1.设置安装源

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

  2.安装SQL服务端

    yum install -y mssql-server

    

 

   3.安装SQL配置

    /opt/mssql/bin/mssql-conf setup

    

    查看版本与路径 

      systemctl status mssql-server

    服务启动

      systemctl start mssql-server

    开机启动

      systemctl enable mssql-server

    修改启动端口

      vi /var/opt/mssql/mssql.conf

      依次设置:

        [sqlagent]

        enabled=true

        [network]

        tcpport=14330 

       保存重启mssql

    防火墙放行:

      注意:基于iptables和firewall-cmd的操作方式略为不同,端口14330放行,具体操作省略;此处可用natcat连接测试了。

   4.客户端安装

    curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

    yum install -y mssql-tools

  5.环境变量

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

    source ~/.bashrc

  6.查看备份

    查看备份逻辑名称,口令如下:

      sqlcmd -S '127.0.0.1,14330' -U SA -P 'TYdemo@2020' -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/backup/AAA.bak"' | tr -s ' ' | cut -d ' ' -f 1-2

      LogicalName PhysicalName

      ----------------------------------------------------------------------------------------------------------------

      AAA_v1 D:\SqlData\data\MSSQL11.MSSQLSERVER\MSSQL\DATA\AAA_v3.mdf

      AAA_v1_log D:\SqlData\data\MSSQL11.MSSQLSERVER\MSSQL\DATA\AAA_v3_1.ldf

    注意红色出名字

  7.DB还原

    7.1SQL方式还原

RESTORE DATABASE [AAA_v3] FROM DISK = N'/var/opt/mssql/backup/AAA_v3.bak' \
WITH FILE = 1, MOVE N'AAA_v1' TO N'/var/opt/mssql/data/AAA_v3.mdf', \
MOVE N'AAA_v1_log' TO N'/var/opt/mssql/data/AAA_v3_1.ldf', NOUNLOAD, REPLACE, STATS = 5

    7.2SQLCMD方式还原      

sqlcmd -S '127.0.0.1,14330' -U SA -P 'TYdemo@2020' \
-Q 'RESTORE DATABASE [AAA_v3] FROM  DISK = N"/var/opt/mssql/backup/AAA_v3.bak" \
WITH  FILE = 1,  MOVE N"AAA_v1" TO N"/var/opt/mssql/data/AAA_v3.mdf",  \
MOVE N"AAA_v1_log" TO N"/var/opt/mssql/data/AAA_v3_1.ldf",  NOUNLOAD,  REPLACE,  STATS = 5'

    7.3SSMS方式还原

      和在Window提供的MSSQL服务的还原模式一模一样;区别在于选择备份集的路径为Linux下面的路径格式,MDF,LDF文件指定的路径应符合Linux的路径格式

    7.4连接测试

      通过前面的操作基本可以实现数据的访问了。

  8.操作结束

    

    

 

posted @ 2020-11-29 20:07  李文学  阅读(813)  评论(0编辑  收藏  举报