Linux系统下docker如何安装mysql?

本文详细介绍在Linux环境中使用Docker部署MySQL的具体步骤,包括选择MySQL版本、下载镜像、创建容器实例、设置字符编码及常见问题解决方案。

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:跳过域名解析

### 使用 DockerLinux 系统安装和配置 MySQL #### 准备工作 为了顺利进行操作,需确保已经具备一定的 LinuxDocker 基础知识。如果尚未安装 Docker,则应先完成 Docker安装。 #### 拉取 MySQL 镜像 在安装 Docker 后,需要从 Docker Hub 上获取所需的 MySQL 版本镜像。对于特定版本如 MySQL 5.7 或者最新版 MySQL 8, 可以运行如下命令来下载相应镜像: ```bash docker pull mysql:5.7 # 获取 MySQL 5.7 版本 # 或者 docker pull mysql:8 # 获取 MySQL 8 版本 ``` #### 创建并启动 MySQL 容器 创建一个新的 MySQL 数据库实例可以通过 `docker run` 来实现。这里提供了一个基本的例子用于启动带有默认设置的 MySQL 容器: ```bash docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw` 设置 root 用户密码为 my-secret-pw;而 `mysql:tag` 应替换为你想要使用的具体标签 (例如 `mysql:5.7`) [^1]。 #### 进入 MySQL 容器内部 一旦容器正常运作起来之后,可以利用下面这条指令进入到正在运行中的 MySQL 实例内,并连接到其内置客户端工具来进行管理任务: ```bash docker exec -it some-mysql bash # 登录至容器内的 Bash shell mysql -u root -p # 执行此命令后会提示输入之前设定好的root账户密码 ``` #### 测试 MySQL 是否可用 当成功登录到了 MySQL 控制台以后就可以尝试执行一些简单的 SQL 查询语句验证环境是否搭建正确无误了。比如查看当前所有的数据库列表: ```sql SHOW DATABASES; ``` 以上就是整个流程的大致介绍,按照上述步骤即可轻松实现在 Linux 平台上借助 Docker 技术快速部署 MySQL 数据库服务器的目的[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

代码超人牛爱芳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值