Linux系统下docker如何安装mysql?

3 篇文章 0 订阅
3 篇文章 0 订阅

linux环境下docker如何安装mysql?

首先需要进入docker hub官网查看所mysql的对应版本
链接: https://hub.docker.com/
在这里插入图片描述
这边有对应版本号,选择一个,此处我选择的是mysql:5.7
在这里插入图片描述

1、下载镜像文件

docker pull mysql:5.7

在这里插入图片描述

2、创建实例并启动

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
在这里插入图片描述
①如果在此处创建实例报端口被占用错误,可以使用netstat -tanlp查看端口占用情况
在这里插入图片描述
然后 kill 1952 杀死该占用进程

②如果此处创建实例报,Error response from daemon: driver failed programming external connectivity on endpoint xxx ,涉及到docker启动底层机制,我们只需要重新启动就好

systemctl restart docker

接着继续重新执行创建实例代码
在这里插入图片描述
出现此处输出表示成功。
可检验一下

docker ps

在这里插入图片描述

3、通过navacat或者SQLyog等工具远程连接mysql

在这里插入图片描述

4、修改mysql字符编码

vi /mydata/mysql/conf/my.cnf

按o进入INSERT模式
在这里插入图片描述

将该代码插入.cnf文件中

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

之后,按Esc键,输入 :wq 保存退出即可
在这里插入图片描述

5、重启mysql

docker restart mysql

注意:解决 MySQL 连接慢的问题
在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve:跳过域名解析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

代码超人牛爱芳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值