004-利用Docker安装Mysql

利用Docker安装Mysql

一、在镜像仓库找到 Mysql

1.镜像仓库地址

https://hub.docker.com

2.复制命令
powershell 复制代码
docker pull mysql:8.0
3.下载Mysql镜像
4.查看镜像
powershell 复制代码
docker images

二、创建实例并启动

powershell 复制代码
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:8.0
html 复制代码
参数说明:
-p3306:3306:将容器的3306端口映射到主机的3306端口
-v/mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v/mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v/mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-eMYSQLROOTPASSWORD=root:初始化root用户的密码
  • 查看容器:
powershell 复制代码
docker ps -a

发现容器状态为 Exited 表示启动失败

  • 查看容器启动失败的日志
powershell 复制代码
docker logs containerID

检查本地配置目录:

确认本地的 /mydata/mysqlconf目录中 是否存在 conf.d 和 mysql.conf.d 子目录,如果不存在,创建这个子目录。

powershell 复制代码
-- 创建子目录
mkdir -p /mydata/mysql/conf/conf.d
mkdir -p /mydata/mysql/conf/mysql.conf.d
  • 再启动Mysql
powershell 复制代码
docker start mysql
  • 查看容器启动状态
powershell 复制代码
docker ps

status:Up 。。表示容器正在运行

三、用本地工具连接数据库

进入到容器内部:

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

四、设置 Mysql 配置

java 复制代码
[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
powershell 复制代码
docker restart mysql
相关推荐
betazhou20 分钟前
mariadb5.5.56在centos7.6环境安装
android·数据库·adb·mariadb·msyql
开挖掘机上班21 分钟前
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
数据库·mysql
花月C23 分钟前
Mysql-定时删除数据库中的验证码
数据库·后端·mysql·spring
阿福不是狗4 小时前
Python使用总结之Mac安装docker并配置wechaty
python·macos·docker
@小红花5 小时前
MySQL数据库从0到1
数据库·mysql·oracle
[听得时光枕水眠]5 小时前
MySQL基础(三)DQL(Data Query Language,数据查询语言)
数据库·mysql·oracle
藥瓿亭8 小时前
K8S认证|CKS题库+答案| 3. 默认网络策略
运维·ubuntu·docker·云原生·容器·kubernetes·cks
背太阳的牧羊人9 小时前
sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
docker·容器·bash
一只叫煤球的猫9 小时前
MySQL 8.0 SQL优化黑科技,面试官都不一定知道!
后端·sql·mysql