在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:SqlDatadataMSSQL11.MSSQLSERVERMSSQLDATAAAA_v3.mdf
AAA_v1_log D:SqlDatadataMSSQL11.MSSQLSERVERMSSQLDATAAAA_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.操作结束