Docker--安装mysql8--方法/步骤

原文网址:Docker--安装mysql8--方法/步骤_IT利刃出鞘的博客-CSDN博客

简介

本文介绍如何使用docker安装mysql8。

查看mysql版本

https://hub.docker.com/_/mysql/tags

我选择8.0,点击右侧箭头处直接复制命令。

拉取镜像

拉取镜像的命令

docker pull mysql:8.0

查看是否拉取成功

docker images

如下便是拉取成功

创建文件夹(配置、数据等)

此处不是必须的,因为下边使用docker run运行容器时会自动根据-v参数创建没有的文件夹。

mkdir -p /work/docker/mysql/conf
mkdir -p /work/docker/mysql/data
mkdir -p /work/docker/mysql/log

创建配置文件

创建文件:/work/docker/mysql/conf/my.cnf

内容如下:

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
#服务端口号 默认3306
port=3306

datadir = /work/docker/mysql/data

init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# 最大连接数
max_connections=200

# 连接失败的最大次数。防止有人从该主机试图攻击数据库系统
max_connect_errors=20

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

启动容器

启动容器的命令

docker run -p 3306:3306  \
--name mysql8 \
--privileged=true \
-v /work/docker/mysql/log:/var/log/mysql \
-v /work/docker/mysql/data:/var/lib/mysql \
-v /work/docker/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0
  • –privileged=true
    • 设置MySQL 的root用户权限, 否则外部不能使用root用户登陆。
  • -e MYSQL_ROOT_PASSWORD=123456
    • 设置MySQL数据库root用户的密码

其他参数参考此文:Docker--安装Redis--方法/步骤_IT利刃出鞘的博客-CSDN博客

查看启动后的容器

docker ps

设置密码等

        实际原来的123456仍然有效,只不过只能localhost机器能用(在MySQL服务器上的mysql命令直连时可以使用)Navicat不能用。

1.进入容器内部

docker exec -it mysql8 /bin/bash

2.连接mysql

mysql -u root -p

输入前边设置的密码:123456,然后回车。

3.修改访问主机以及密码

设置为所有主机可访问

ALTER USER 'root'@'%' IDENTIFIED BY '新密码';

Mysql8.0 默认采用 caching-sha2-password 加密,有可能旧的客户端不支持,可改为 mysql_native_password; 

CREATE USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '222333';

4.刷新权限

FLUSH PRIVILEGES;

测试Navicat连接

密码为222333。连接成功。

### 如何在 Docker安装和配置 MySQL 8 #### 使用 Docker 安装 MySQL 8 镜像 为了获取 MySQL 8 的官方镜像,在完成 Docker安装之后,可以通过终端或命令提示符输入指定的指令来下载所需的镜像文件。具体操作如下: ```bash docker pull mysql:8 ``` 这条命令会从 Docker Hub 上拉取最新版本的 MySQL 8 镜像[^1]。 #### 启动并运行 MySQL 8 容器实例 当成功下载好 MySQL 8 的镜像后,可以利用 `docker run` 命令启动一个新的容器实例,并对其进行初步设置。下面是一条综合性的命令用于创建一个名为 "mysql" 的新容器,映射主机端口到容器内部服务端口,挂载本地目录作为数据卷存储路径以及设定 root 用户密码等参数: ```bash docker run -p 3306:3306 --name mysql \ -v /data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=your_password_here \ -d mysql:8 ``` 这里 `-p` 参数指定了外部访问地址;`-v` 将宿主机上的 `/data` 文件夹绑定到了容器内的默认数据库位置以便持久化保存数据;而通过环境变量 `-e` 设置了管理员账户 (`root`) 所需验证的信息[^3]。 #### 进入 MySQL 控制台测试连接情况 一旦上述过程顺利完成,则意味着已经拥有了一个正在运行中的 MySQL 数据库服务器。此时可借助于 `docker exec` 工具进入该容器环境中进一步管理数据库资源或者检验当前状态是否正常工作。例如: ```bash docker exec -it mysql bash mysql -uroot -pyour_password_here ``` 以上两条语句分别用来获得交互式的 shell 访问权限以及尝试登陆至 MySQL 实例当中进行后续的操作[^4]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT利刃出鞘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值