Docker 安装Mysql

目录

Docker Mysql安装

✨安装和配置mysql

✨远程连接mysql远程连接

MySQL 是世界上最流行的开源数据库。根据 DB-Engines的调查数据,MySQL 是第二受欢迎的数据库,仅次于 Oracle 数据库。MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用

✨安装和配置mysql
  • 下载镜像mysql server 可选择,有:5.5/5.6/5.7/8.0
 docker pull mysql/mysql-server:8.0

  • docker images查看镜像
docker images

  • 在宿主机中创建相关目录,用于挂载容器的相关数据{comf,data} 注:cd 记得加上/ 目录底下的
mkdir -p /data/mysql/{conf,data}

  • 在conf创建一个配置文件 把配置内容写入
vim my.cnf
--配置内容
[client]
default-character-set=utf8
​
[mysql]
default-character-set=utf8
​
[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
  • 创建一个容器 映射端口
docker run -p 3307:3306 \
      --name mysql \
      -v /data/mysql/conf/my.cnf:/etc/my.cnf \
      -v /data/mysql/data:/var/lib/mysql \
      --privileged=true \
      --restart=always \
      -e MYSQL_ROOT_PASSWORD=123456 \
      mysql/mysql-server:5.7  

解析:

-p 3306:3306:宿主机端口:容器端口

--name mysql:容器名字

-v:挂载宿主机的一个目录, 持久化存储的关键所在,将主机目录挂载到容器对应目录,分别是:配置文件、日志文件、数据文件 -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysq --privileged=true:使用该参数,container内的root拥有真正的root权限, 否则,container内的root只是外部的一个普通用户权限 --restart=always:容器自动启动参数,其值可以为[no,on-failure,always] no为默认值,表示容器退出时,docker不自动重启容器 on-failure表示,若容器的退出状态非0,则docker自动重启容器, 还可以指定重启次数,若超过指定次数未能启动容器则放弃 always表示,只要容器退出,则docker将自动重启容器 -e MYSQL_ROOT_PASSWORD=123456:设置root的密码 -d mysql/mysql-server:5.7:后台启动模式及使用的镜像 - d可加可不加

可能有点小问题 我们的3306被占用

✨修改即可了 我们容器已经创建了一遍 记得删除 docker rm -f mysql

这样就设置成功了

  • 进入容器 登入mysql
docker exec -it mysql bash

密码在做容器挂载 端口映射的时候 已经设置了 我这边是123456

显示mysql 就已经登入成功了

  • 进入之后 实列:运行一个sql脚本

在我们先前创建的 mysql{data}里面创建一个文件夹 用来存放我们宿主机中的数据

我们创建了一个sql文件夹用来存放 数据

把宿主机上的数据直接复制到sql文件夹里

然后我们就可以进行下一步了

  • 创建一个数据库

use 进入数据库 运行source 运行sql文件 

查看表

show tables

这样就做到了一个数据的持久化

✨远程连接mysql

  • 创建一个用户 create 实现用户远程连接 kbin@'%'

create user kbin@'%' identified by '123456';

  • 给用户授权 all 全部权限给shop数据库里的 kbin

grant all on shop.*to kbin@'%'

刷新数据库

FLUSH PRIVILEGES

进行远程连接

如果失败连接 请查看一下 防火墙是否关闭

查看防火墙 状态

systemctl status firewalld

关闭防火墙

systemctl stop firewalld

dead关闭成功

远程连接

输入 创建设置的远程用户

create user kbin@'%' identified by '123456';
  • 然后就可以编辑了

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷亿!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值