docker 安装 mysql

目录

1、下载镜像文件

2、创建实例并启动

(1)创建并启动mysql

(2)查看docker正在运行中的容器

(3)使用mysql客户端连接工具,测试连接。

(4)进入mysql容器内部

[3、MySQL 配置](#3、MySQL 配置)

(1)conf文件夹中创建并修改配置文件(修改mysql字符编码)

(2)my.cnf中需要添加的内容

4、重启mysql,应用到配置


直接 su root ,切换到root用户,之后的命令就可以不用加 sudo 啦,当然已经是root用户,加上与不加都无所谓的哦。

1、下载镜像文件

(1)docker pull mysql (不输版本号,默认安装最新版,我以5.7为例)

复制代码
docker pull mysql:5.7

(2)查看你下载的镜像

sql 复制代码
sudo docker images

执行结果:


2、创建实例并启动

(1)创建并启动mysql

复制代码
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 用户的密码

(2)查看docker正在运行中的容器

sql 复制代码
docker ps

执行结果:

(3)使用mysql客户端连接工具,测试连接。

连接成功,说明MySQL已经安装好了。

(4)进入mysql容器内部

直接在根目录输入命令即可。

sql 复制代码
docker exec -it mysql /bin/bash

查看目录结构:

ls

查看mysql装在哪里:

whereis mysql

退出容器:

exit;


3、MySQL 配置

(1)conf文件夹中创建并修改配置文件(修改mysql字符编码)

diff 复制代码
vi /mydata/mysql/conf/my.cnf

注意

mysql版本不一样的话(高版本),conf这个文件夹的位置发生了变化,通过ls命令查看一个conf在哪里,然后再去修改。

(2)my.cnf中需要添加的内容

编辑文件指令:

i 进入编辑模式

Esc 退出编辑模式

:wq 保存并退出

注意:配置文件中的格式一定要正确,粘贴进来时,会自己变换格式,记得自己进行换行哦。

sql 复制代码
[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

注意:解决 MySQL 连接慢的问题

在配置文件中加入如下,并重启 mysql

mysqld

skip-name-resolve

解释: skip-name-resolve:跳过域名解析


4、重启mysql,应用到配置

sql 复制代码
docker restart mysql

注意

配置文件中的格式一定要正确,粘贴进来时,会自己变换格式,记得自己进行换行哦。

可以根据下面截图中的命令去运行看看:


至此,mysql就算彻底安装成功啦!

相关推荐
不做无法实现的梦~19 分钟前
mid360连接机载电脑,远程桌面连接不上的情况
运维·服务器·电脑
运维成长记42 分钟前
关于linux运维 出现高频的模块认知
运维·职场和发展·云计算
张火火isgudi1 小时前
CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
服务器·docker·容器
IT成长日记1 小时前
【自动化运维神器Ansible】Ansible常用模块之archive模块详解
运维·自动化·ansible·常用模块·archive
晴天¥1 小时前
阶段1--域名服务器
运维·服务器·网络
禁默2 小时前
进程调度的艺术:从概念本质到 Linux 内核实现
linux·运维·服务器
Azure DevOps2 小时前
在Azure DevOps的工作项中使用markdown
运维·microsoft·flask·azure·devops
先做个垃圾出来………2 小时前
CI/CD与DevOps集成方法
运维·ci/cd·devops
qq_447705312 小时前
宝塔通过docker部署JupyterHub指南【常见错误处理】
运维·docker·容器
卡比巴拉—林3 小时前
HAProxy 实验指南:从零开始搭建高可用负载均衡系统
运维·负载均衡