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就算彻底安装成功啦!

相关推荐
岚天start9 分钟前
K8S中nodePort、port和 targetPort的区别
云原生·容器·kubernetes
Wang's Blog21 分钟前
MySQL: 存储引擎深度解析:CSV与Archive的特性、应用与实战演示
数据库·mysql
xingyue_S1 小时前
LVS负载均衡群集(二)-- DR模式
运维·负载均衡·lvs
Wang's Blog2 小时前
MySQL: 数据库读写分离与负载均衡的实现方式及深度分析
数据库·mysql·负载均衡
roman_日积跬步-终至千里2 小时前
【Nginx】Nginx 多协议负载均衡实战:StarRocks 与 MinIO 代理配置全解析
运维·nginx·负载均衡
lwhdjbcjdjd2 小时前
Nginx实战指南:反向代理与负载均衡的原理与配置
运维·nginx·负载均衡
wa的一声哭了2 小时前
Linux服务器配置ssh免密登陆多台服务器、服务器别名配置
linux·运维·服务器·网络·arm开发·python·ssh
qinyia2 小时前
Wisdom SSH:AI助手可用的运维工具详解,帮助理解提升人机合作效率
运维·服务器·人工智能·ssh
Hello.Reader2 小时前
使用 Flink CDC Elasticsearch Pipeline Connector 打通 MySQL 与 Elasticsearch 的实时链路
mysql·elasticsearch·flink
YongCheng_Liang2 小时前
openEuler 22.03 LTS 部署 ELK(Elasticsearch+Logstash+Kibana)完整教程
linux·运维·elk·elasticsearch