docker部署mysql_sqlserver_Navicat连接

mysql部署

  • 拉取   docker pull mysql
  • 查看   docker images 
  • 创建   docker run -id --name mysql_test  -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  • 进入   docker exec -it  mysql_test  /bin/bash
  • 登入mysql  mysql -uroot -p123456

 

 

sqlServer

部署

  • 拉取   docker pull microsoft/mssql-server-linux:2017-latest
  • 创建   docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Qq465282857.'  -v /var/opt/mssql:/var/opt/mssql --privileged=true -p 1433:1433 --name sql1 -d microsoft/mssql-server-linux:2017-latest

           *  密码要求是最少8位的强密码,要有大,小写字母,数字以及特殊符号(微软密码策略)

          *   内存要求3.5G以上

           *  启动不起来可以查看日志  docker logs  $container_name/id

  •  

防火墙

 

centos7使用firewalld,这里  先关闭 firewalld,  然后下载 iptables , 最后使用iptables管理

关闭firewalld

启动: systemctl start firewalld          systemctl start firewalld.service

关闭: systemctl stop firewalld          systemctl stop firewalld.service

查看状态:systemctl status firewalld  firewall-cmd    --state

开机禁用  : systemctl disable firewalld

开机启用  : systemctl enable firewalld

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体

 iptables

yum install  iptables-services

开启   systemctl  start  iptables.service

重启   systemctl  restart  iptables.service

关闭   systemctl  stop iptables.service

查看   systemctl  status  iptables.service

放行端口

编辑/etc/sysconfig/iptables文件,最后有效三行前添加

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Aug  1 16:50:19 2018

-A INPUT -p tcp -m tcp --dport 1433 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

重启

 systemctl  restart  iptables.service

连接

  • 安装Navicat Premium(不是 Navicat for mysql  ),在安装目录下运行 sqlncli_x64.msi  sqlserver支持插件
  • 创建连接(端口号跟IP地址之间是使用的逗号分割,而不是冒号  192.168.201.129,1433 ,默认端口可以不写)

创建数据库

右键创建数据库的时候,error:  *.  主要是创建数据库文件的时候,找不到创建路径

修改路径执行查询

CREATE DATABASE [t]
ON
PRIMARY
(
  NAME = N't',
  FILENAME = N'/var/opt/mssql/data/t.ndf',
  SIZE = 8MB,
  MAXSIZE = UNLIMITED,
  FILEGROWTH = 64MB
)
LOG ON
(
  NAME = N't_log',
  FILENAME = N'/var/opt/mssql/data/t_log.ldf',
  SIZE = 8MB,
  MAXSIZE = UNLIMITED,
  FILEGROWTH = 64MB
)

/var/opt/mssql/data    是创建容器时候,sqlserver目录映射出来的

Docker是一个开放源代码的虚拟化平台,能够以容器的形式打包和分发应用程序。MySQL是一种流行的开源关系型数据库管理系统。使用Docker部署MySQL可以极大简化安装和配置的过程,并且能够实现数据的持久化。 首先,我们需要在Docker上搜索并选择适合的MySQL镜像。可以通过运行`docker search mysql`命令来查找可用的MySQL镜像。选择合适的镜像后,可以通过`docker pull <镜像名称>`来下载镜像,例如`docker pull mysql:latest`。 下载完成后,我们可以运行以下命令来创建一个MySQL容器: ``` docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=your_password -d mysql:latest ``` 这个命令将会创建一个名为mysql的容器,并将MySQL服务的默认端口3306映射到宿主机的3306端口。同样,我们可以设置一个root密码,让MySQL服务有一个基本的访问控制。 这样,MySQL容器就成功运行起来了。我们可以通过`docker ps`命令来查看正在运行的容器。接下来,我们可以使用MySQL客户端连接到该容器。可以通过以下命令登录到MySQL容器内部的MySQL服务: ``` docker exec -it mysql mysql -uroot -p ``` 然后,我们可以在MySQL容器内部使用标准的MySQL命令来管理和操作数据库。 要实现数据的持久化,我们可以将MySQL容器内部的数据目录和宿主机的目录进行挂载。可以使用`-v`参数来指定目录的挂载点。例如: ``` docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=your_password -v /path/to/mysql/data:/var/lib/mysql -d mysql:latest ``` 这将会将MySQL容器内部的`/var/lib/mysql`目录与宿主机上的`/path/to/mysql/data`目录进行挂载,从而实现数据的持久化。 通过以上步骤,我们可以使用Docker部署MySQL,并且实现数据的持久化。这样,我们可以方便地在不同的环境之间快速部署和迁移MySQL数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值