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

相关推荐
努力的小T9 分钟前
使用 Docker 部署 Apache Spark 集群教程
linux·运维·服务器·docker·容器·spark·云计算
枫叶落雨2221 小时前
08-Elasticsearch
运维·jenkins
东风微鸣2 小时前
TTRSS 迁移实战
docker·云原生·kubernetes·可观察性
Hanson Huang2 小时前
【存储中间件API】MySQL、Redis、MongoDB、ES常见api操作及性能比较
redis·mysql·mongodb·es
爆更小小刘2 小时前
Linux下基本指令(4)
linux·运维·服务器
我码玄黄2 小时前
解决本地模拟IP的DHCP冲突问题
linux·运维
LUCIAZZZ3 小时前
EasyExcel快速入门
java·数据库·后端·mysql·spring·spring cloud·easyexcel
若云止水3 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_os_init 函数
运维·nginx
yuanbenshidiaos3 小时前
【正则表达式】
数据库·mysql·正则表达式
Self-Discipline3 小时前
Linux arm64 IOMMU总结
linux·运维·服务器