MySql镜像安装

赵直
• 阅读 391

正文


安装MySql镜像

> docker search mysql #查找MySql镜像版本
> docker pull mysql:tag #安装指定版本的mysql镜像,tag为版本号

例如:

> docker pull mysql:5.6 #安装MySql 5.6版本镜像

启动MySql容器

> docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

例如:

> docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=123456 -d  -p 3306:3306 mysql:5.6 
#启动mysql 5.6版本镜像容器,通过--name取名test-mysql,设置root用户密码为123456,映射host的3306端口访问mysql

从host连接上述启动的container

> ifconfig #查看下docker虚拟出的ip地址
> docker ps -a #查看下容器的运行状态
> mysql -h {ip} -P {port} -u root -p #从host连接docker中的MySql

例如:

> mysql -h 192.168.0.1 -P 3306 -u root -p

如果可以进入mysql命令终端,则表示一切安装配置成功。

如果要用远程用Navicat连接mysql:

创建honey用户,密码也为honey

create user'honey'@'%'identified by'honey';

查看用户honey的权限

show grants for 'honey'@'%';

创建数据库,honey用户只有操作museum_of_art数据库的权限。

create database museum_of_art;

允许用户honey操作museum_of_art表

grant all on museum_of_art.* to'honey'@'%';

开最大权限:

GRANT ALL PRIVILEGES ON *.* TO 'honey'@'localhost' IDENTIFIED BY 'honey';
GRANT ALL PRIVILEGES ON *.* TO 'honey'@'%' IDENTIFIED BY 'honey';

但这里有个问题如果要公网访问的话要注意几个点。首先是docker版本问题,我这里安装的是1.13.1 docker ,那么不需要再去开启http远程访问,默认是可以访问的。

现在如果用在公网上用Navicat 是链接不上的。

原因如下:

首先需要登陆阿里云后台,添加阿里云安全组策略 具体位置--网络和安全--安全组--配置规则

MySql镜像安装

可以选择多配置你需要的端口。

下面我们需要配置阿里云防火墙

  • 查看下防火墙的状态:
systemctl status firewalld

MySql镜像安装

  • 关闭防火墙:
systemctl stop firewalld

其实这样就可以使用了,但是这样是很不安全,我们可以将firewall服务禁用,应用iptables服务(网上大部分启用端口的资料都是基于iptables服务)。

安装iptables

由于没有防火墙会造成不安全,所以给服务器安装一应用更广的防火墙iptables,首先要禁用firewall,通过yum安装iptables

systemctil disable firewalld
yum install -y iptables-services

启动iptables

systemctl start iptables

启动后可以通过systemctl status iptables查看状态。

更改iptables规则

  • 将iptables文件备份下:
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
  • 设置 INPUT 方向所有的请求都拒绝
iptables -P INPUT DROP
  • 放开所需端口
iptables -I INPUT -p tcp --dport 3306 -m state --state NEW -j ACCEPT
  • 保存规则
iptables-save > /etc/sysconfig/iptables
  • 设置为开机启动并且重启
systemctl enable iptables.service
systemctl reboot

好了,系统到这里我们需要重新去启动docker

systemctl start docker #运行Docker守护进程

这里如果直接启动镜像的话会报这个错误

MySql镜像安装

那么我们只需要重启下docker ,再去开启你的容器就OK了

systemctl restart docker

那么到这里我们外网就可以正常的去使用阿里云这里的mysql服务

MySql镜像安装



本公众号免费提供csdn下载服务,海量IT学习资源,如果你准备入IT坑,励志成为优秀的程序猿,那么这些资源很适合你,包括但不限于java、go、python、springcloud、elk、嵌入式 、大数据、面试资料、前端 等资源。同时我们组建了一个技术交流群,里面有很多大佬,会不定时分享技术文章,如果你想来一起学习提高,可以公众号后台回复【2】,免费邀请加技术交流群互相学习提高,会不定期分享编程IT相关资源。


扫码关注,精彩内容第一时间推给你

MySql镜像安装

点赞
收藏
评论区
推荐文章
zdd小小菜鸟 zdd小小菜鸟
3年前
windows--docker-指定ip启动mysql
windowsdocker指定ip启动mysql前提条件tex默认电脑已经安装好了docker,以及自定义配置docker的网络;若无请参考安装1.搜索mysql镜像shelldockersearchmysql2.拉取镜像shelldockerpullmy
Wesley13 Wesley13
4年前
ubuntu18 Docker 安装 mysql
2\.Docker安装mysqlDocker查找mysql1.在docker中搜索mysqldockersearchmysql上述操作相当于访问hub.docker.com.搜索mysqlOFFICIAL表示官方镜像  AUTOMATED自动构建Tags表示构建的版本安装mysql镜
Stella981 Stella981
4年前
Docker应用部署
1.MySQL部署拉取MySQL镜像:dockerpull镜像名创建容器:dockerrunidname容器名p3306:33306eMYSQL\_ROOT\_PASSWORD123456 镜像名\e代表添加环境变量,MYSQL\_ROOT\_PASSWORD是用户root的登陆密码  进入MySQL容
Stella981 Stella981
4年前
Dockerfile 说明
1.基本说明  Dockfile是一个用于编写docker镜像生成过程的文件,其有特定的语法。在一个文件夹中,如果有一个名字为Dockfile的文件,其内容满足语法要求,在这个文件夹路径下执行命令:dockerbuildtagname:tag.,就可以按照描述构建一个镜像了。name是镜像的名称,tag是镜像的版本或者是标签号,
Stella981 Stella981
4年前
Docker搭建Mysql容器
转载自:http://blog.csdn.net/Mungo/article/details/78521832?locationNum9&fps1本文介绍如何使用docker迅速搭建MySQL的运行环境。使用dockerhub镜像查找镜像首先查找DockerHub上的mysql镜像,有两种方式:
Stella981 Stella981
4年前
Docker 部署mysql
Docker部署mysql\TOC\步骤1.查找DockerHub上的MySQL镜像root@UbuntuBase:/usr/local/docker/mysqldockersearchmysqlNAME
Stella981 Stella981
4年前
Docker rancher 部署
Dockerrancher环境centos7.4,Dockerversion17.12.0ce下载docker镜像dockerpullmysql:5.7dockerpullrancher/server:latestdockerimages运行MySQL容器
Stella981 Stella981
4年前
Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)
一、MySQL部署1.拉取mysql5.7镜像dockerpullmysql:5.72.创建容器,启动mysql5.7(建议别用最新版本的mysql)dockerrunidnamemysql1p3306:3306eMYSQL_ROOT_PASSWORD123456mysql:5.7
Stella981 Stella981
4年前
Harbor v2.0 镜像回收那些事
Harbor镜像回收流程Harbor镜像回收分两部分:1、删除镜像TAG2、执行垃圾清理早期Harbor1.0版本时,删除镜像TAG可以通过UI界面手动一个个选取删除,也可以调用官方提供的SDK删除(很早以前官方不维护了)。后来官方在1.9版本提供TAG保留策略,解决以
Stella981 Stella981
4年前
CentOS6.x下yum安装svnmanager管理httpd代理的svn仓库
关于yum的镜像配置省略,使用国内镜像能显著加快安装。不同于编译安装,预编译的包能节省大量时间。svnmanager运行需要mysql的数据库,这里省略。安装软件安装svn$yuminstallsubversion安装httpd$yuminstallhttpd安装s
Stella981 Stella981
4年前
Docker之安装MySQL
1从DockerHub上查找MySQL镜像语法:dockersearchmysql示例:!(https://oscimg.oschina.net/oscnet/d0ff8bb91e37afa6506ae036b5eb8a3e7d7.png)2从DockerH