首页 > 数据库 >Docker安装MS SQL Server并使用Navicat远程连接

Docker安装MS SQL Server并使用Navicat远程连接

时间:2023-06-06 09:46:29浏览次数:55  
标签:容器 1433 Server MS SQL Docker mssql

思维导航

MS SQL Server简介

  Microsoft SQL Server(简称SQL Server)是由微软公司开发的关系数据库管理系统,它是一个功能强大、性能卓越的企业级数据库平台,用于存储和处理大型数据集、支持高效查询和分析等操作。SQL Server 支持广泛的应用程序开发接口(API),包括 T-SQL、ADO.NET、ODBC、OLE DB 等,并支持多种操作系统,包括 Windows、Linux 和 Docker 等。SQL Server 包含许多高级功能和组件,如数据仓库、分析服务、报告服务、全文搜索等,可为企业提供全面的数据管理和分析解决方案。

基于Ubuntu的Microsoft SQL Server官方镜像

mssql-server Docker hub:https://hub.docker.com/_/microsoft-mssql-server

拉取Microsoft SQL Server 2022容器镜像

sudo docker pull mcr.microsoft.com/mssql/server:2022-latest

验证mssql镜像是否成功拉取到本地

使用以下命令来查看mssql镜像是否成功拉取到本地:

docker images

创建并运行一个mssql容器

使用以下命令启动容器(Docker 镜像启动后,将会自动启动 SQL Server),其中 sa123456 为 SQL Server sa 用户的密码:

这个命令的含义是在 Docker 中以后台模式 (-d) 运行 Microsoft SQL Server 2022 的最新版本 (mcr.microsoft.com/mssql/server:2022-latest) 镜像,并将容器命名为 mssql2022 (--name mssql2022)。同时,通过 -p 1433:1433 参数将容器的 1433 端口映射到主机的 1433 端口上,使得可以通过主机的 1433 端口访问 SQL Server。在容器启动过程中,需要设置两个环境变量:

ACCEPT_EULA=Y 表示接受使用条款。
MSSQL_SA_PASSWORD=Y.sa123456 表示设置 SA 用户的密码为 "Y.sa123456"[注意密码一点要严格设置不然有坑]。

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Y.sa123456" -p 1433:1433 --name mssql2022 -d mcr.microsoft.com/mssql/server:2022-latest

注意大坑使用Docker部署Sql Server容器后过几秒就停止了

SA_PASSWORD=Y.sa123456 为密码,要求是最少8位的强密码,要有大写字母,小写字母,数字以及特殊符号,不然会有一个大坑(Docker启动Sql Server容器后过几秒就停止了)。

验证容器是否创建成功

docker ps

如果使用docker ps查看不到在使用docker ps -a查看,如果docker ps -a可以查看到那就说明容器没有启动需要使用docker start name来启动容器!

设置 Docker 主机防火墙规则

默认情况下,Docker 带有一个内置的防火墙,需要开放 1433 端口才能让外部访问 SQL Server。使用以下命令开放 Docker 主机的 1433 端口:

sudo ufw allow 1433/tcp

重启防火墙,注意重启防火墙之后才会生效。

sudo ufw reload

服务器防火墙配置1433的开放端口

Navicat远程连接

参考文章

使用 Docker 运行 SQL Server Linux 容器映像

作者:追逐时光者

作者简介:一个热爱编程,善于分享,喜欢学习、探索、尝试新事物,新技术的程序猿。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果该篇文章对您有帮助的话,可以点一下右下角的【♥推荐♥】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确或错误的地方,欢迎指正、补充,不胜感激 !

转 https://www.cnblogs.com/Can-daydayup/p/17455612.html

标签:容器,1433,Server,MS,SQL,Docker,mssql
From: https://www.cnblogs.com/wl-blog/p/17459644.html

相关文章

  • SDH、MSTP、OTN和PTN的关系
    在开始之前,先要解释一下TDM的概念。 TDM,就是时分复用,就是将一个标准时长(1秒)分成若干段小的时间段(8000),每一个小时间段(1/8000=125us)传输一路信号。 SDH系统的电路调度均以TDM为基础,所以看到很多人说SDH业务就是TDM业务,就是传统的电路调度,是有理论依据的。 但在SDH大......
  • 【SQL】将查询到的值转换为其它数据(如汉字)
    方法一:--语法casewhen列名=条件then命名else命名end示例selectid,(casewhenclass=0then"语文"whenclass=1then"数学"whenclass=2then"英语"end)as学科frombase; 方法二:--语法case列名when条件then命名else命名end示......
  • MySQL如何查询B+树高以及树能存放多少数据
    来源:  https://blog.csdn.net/Hmj050117/article/details/121349435 ......
  • sql server的日期格式转化形式
    sqlserver的日期格式转化形式 sql日期格式化0  或  100  (*)    默认值  mon  dd  yyyy  hh:miAM(或  PM)     1  101  美国  mm/dd/yyyy     2  102  ANSI  yy.mm.dd     3  103  英国/法国 ......
  • 极客大挑战2019EasySQL
     如果不输入 随便输入 由地址栏的check.php?username=sadsad&password=sadsad可以猜测sql语句:$sql="select*fromxxwhereusername='$name'andpassword='$password'";既然是考sql注入,先试试万能密码用户名:’or1#密码随意判断是否正确的sql语句可能为:$sql="sel......
  • mysql 局域网连接
    下面分别简述操作:配置虚拟机网络默认方式是NAT,但为了让宿主机之外的其它计算机也能访问虚拟机,NAT方式配置起来有些复杂,这里推荐用桥接模式,关于VM的几种网络方式的区别,可以参考这篇文章配置好之后确认下虚拟机是否能上网,网段是否和宿主机相同。ubuntu查看ip信息命令:ifconfig#若提......
  • mysql版本:'for the right syntax to use near 'identified by 'password' with grant
    查询mysql具体版本SELECT@@VERSION问题分析:mysql版本8.0.13,在给新用户授权时,发生了变化:1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'identifiedby'password'withgrant......
  • SQL 优化
    ————————————————版权声明:本文为CSDN博主「biyusr」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/biyusr/article/details/125599865  1、对查询进行优化,应尽量避免全表扫描,首先应考虑在where及ord......
  • Mysql第一篇之基础
    1.数据库相关概念何为数据库:存储和管理数据的仓库,数据是有组织的进行存储。数据库英文名是DataBase,简称DB。数据库就是将数据存储在硬盘上,可以达到持久化存储的效果。那又是如何解决上述问题的?使用数据库管理系统。何为数据库管理系统:管理数据库的大型软件英文:Data......
  • mysql死锁检查
    描述以下是一个shell脚本,用于检查MySQL死锁会话并杀死它们。它还将记录所有被杀死的会话及其相关的SQL到一个文件中。解决方案#!/bin/bash#设置MySQL连接参数MYSQL_USER="your_mysql_username"MYSQL_PASSWORD="your_mysql_password"MYSQL_HOST="localhost"MYSQL_PORT="......