返回顶部
首页 > 资讯 > 数据库 >Docker安装MySQL
  • 106
分享到

Docker安装MySQL

mysqldocker数据库 2023-09-24 22:09:58 106人浏览 安东尼
摘要

目录 前言 一、拉取镜像  二、查看镜像  三、运行镜像 四、查看正在运行的容器 五、查看容器内部 六、修改mysql配置 七、重启mysql服务,使其配置生效 八、设置docker启动时启动mysql 九、重启mysql 十、授权远程访

目录

前言

一、拉取镜像

 二、查看镜像

 三、运行镜像

四、查看正在运行的容器

五、查看容器内部

六、修改mysql配置

七、重启mysql服务,使其配置生效

八、设置docker启动时启动mysql

九、重启mysql

十、授权远程访问

10.1 进入容器内部

 10.2 登陆mysql

10.3 选择数据库

10.4 查看用户连接情况

10.5 修改密码认证方式

 10.6 退出容器


前言

虽然 Docker 安装 Mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。

本文为了方便,我们直接通过yum方式安装。所以,我们在安装之前需要电脑可以联网,不然我们这种方式是安装不了的。

当然,你也可以自行下载mysql镜像,然后再通过 docker 安装,不过这不在本文的讨论范围。

一、拉取镜像

# 拉取镜像docker pull mysql# 或者docker pull mysql:latest# 以上两个命令是一致的,默认拉取的就是 latest 版本的# 我们还可以用下面的命令来查看可用版本:docker search mysql

 二、查看镜像

使用以下命令来查看是否已安装了 mysql镜像

docker images

 三、运行镜像

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \-v /usr/local/mysql/log:/var/log/mysql \-v /usr/local/mysql/data:/var/lib/mysql \-v /usr/local/mysql/conf:/etc/mysql \-v /etc/localtime:/etc/localtime:ro \-e MYSQL_ROOT_PASSWord=123456 -d mysql:latest

命令解决:

 -p 3306:3306:指定宿主机端口与容器端口映射关系

--name mysql:创建的容器名称

--restart=always:总是跟随docker启动

--privileged=true:获取宿主机root权限
-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456

-d mysql:latest:后台运行mysql容器,版本是latest。

或者使用下面的命令:

docker run --name mysql --restart=always --privileged=true \-v /usr/local/mysql/data:/var/lib/mysql \-v /usr/local/mysql/conf.d:/etc/mysql/conf.d \-v /etc/localtime:/etc/localtime:ro \-e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest

 四、查看正在运行的容器

# 查看正在运行的容器docker ps# 查看所有的docker容器docker ps -a

这个时候如果显示的是up状态,那就是启动成功了。如果是restarting,说明是有问题的。我们可以查看日志:

docker logs -f mysql

 可能会发现:

Failed to access directory for --secure-file-priv. Please make sure that dir

 此时如果我们执行第五步也会报错:

Error response from daemon: Container xxx is restarting, wait until the cont。。。

此时我们需要执行第六步。 

五、查看容器内部

docker exec -it mysql /bin/bash

六、修改mysql配置

 创建mysql配置文件:my.cnf

cd /usr/local/mysqlllcd confvi my.cnf

在 my.cnf 文件中 写入如下内容:

[client]

default-character-set=utf8mb4

[mysql]

default-character-set=utf8mb4

[mysqld]

# 设置东八区时区
default-time_zone = '+8:00'

# 设置密码验证规则,default_authentication_plugin参数已被废弃

# 改为authentication_policy

#default_authentication_plugin=mysql_native_password
authentication_policy=mysql_native_password

# 限制导入和导出的数据目录
# 为空,不限制导入到处的数据目录;
# 指定目录,必须从该目录导入到处,且MySQL不会自动创建该目录;
# 为NULL,禁止导入与导出功能
#secure_file_priv=/var/lib/mysql
secure_file_priv=

init_connect='SET collation_connection = utf8mb4_0900_ai_ci'

init_connect='SET NAMES utf8mb4'

character-set-server=utf8mb4

collation-server=utf8mb4_0900_ai_ci

skip-character-set-client-handshake

skip-name-resolve

默认的鉴权方式,我们修改为mysql_native_password,不然的话连接会报错。因为在mysql8以后的默认加密方式改变了,由 mysql_native_password 改为了caching_sha2_password。这种加密凡是在客户端无法访问,客户端支持的是mysql_native_password 。我们先进行第七步。

七、重启mysql服务,使其配置生效

docker restart mysql

八、设置docker启动时启动mysql

docker update mysql --restart=always

九、重启mysql

docker restart mysql

十、授权远程访问

不进行授权直接登陆的话会报错的,如图:

错误内容:

Communications link failure

The last packet sent successfully to the server was 0 milliseconds aGo. The driver has not received any packets from the server.
  Connection refused: connect
  Connection refused: connect

10.1 进入容器内部

docker exec -it mysql /bin/bash

 10.2 登陆mysql

mysql -u root -p

 此时我们使用mysql客户端连接服务器是失败的,因为默认的root不具有远程连接的权限。

 上面的密码不要输入,直接回车进入。

10.3 选择数据库

show databases;use mysql;

不要忘记最后的分号。

10.4 查看用户连接情况

select host, user, plugin,  authentication_string, password_expired from user;

我们看到root用户只有localhost的连接权限。

10.5 修改密码认证方式

ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY '123456';ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';-- 刷新权限FLUSH PRIVILEGES;

 10.6 退出容器

exit

先输入exit退出mysql,再输入exit退出容器。

此时,我们通过客户端工具就可以连接mysql了。

来源地址:https://blog.csdn.net/qq_42971035/article/details/127831101

您可能感兴趣的文档:

--结束END--

本文标题: Docker安装MySQL

本文链接: https://lsjlt.com/news/417123.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker安装MySQL
    目录 前言 一、拉取镜像  二、查看镜像  三、运行镜像 四、查看正在运行的容器 五、查看容器内部 六、修改mysql配置 七、重启mysql服务,使其配置生效 八、设置docker启动时启动mysql 九、重启mysql 十、授权远程访...
    99+
    2023-09-24
    mysql docker 数据库
  • Docker 安装 MySQL
    目录 一、查看 MySQL 版本 二、拉取 MySQL 镜像 三、查看本地镜像 四、运行容器 五、停止和启动容器 六、列出正在运行的容器 七、进入容器 八、登录MySQL 九、IDEA 连接 MySQL 一、查看 MySQL 版本 访问...
    99+
    2023-08-31
    linux 运维 服务器 mysql docker 容器 数据库
  • Docker下安装MySQL
    查看MySQL可用版本镜像 docker search mysql     2:拉取MySQL镜像   docker pull mysql:latest(如果要安装指定版本将latest换成版本号即可,此处安装最新版本)       ...
    99+
    2015-03-30
    Docker下安装MySQL
  • docker compose 安装Mysql
    第一步:首先安装docker 和docker-compose 这里使用快速安装脚本进行安装 curl -sSL https://get.daocloud.io/docker | sh 第二步:新建/data/mysql目录    data...
    99+
    2023-09-18
    docker java 运维
  • 【Docker】02-安装mysql
    参考教程: https://www.bilibili.com/video/BV1Qa4y1t7YH/p=5&spm_id_from=pageDriver&vd_source=4964ba5015a16eb57d0ac13401b0fe7...
    99+
    2023-08-30
    docker mysql
  • docker如何安装mysql
    最近在部署django,不想在手动安装一遍mysql,便尝试使用docker,总结了安装的心得,这些前提都是在安装了docker后: 1. 查看mysql镜像; docker search mysql 2....
    99+
    2022-05-14
    docker 安装MySQL docker MySQL
  • Docker安装MySQL教程
    前言 虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。 本文为了方便,我们直接通过yum方式安装。所以,我们在安...
    99+
    2023-08-30
    docker mysql 容器
  • docker离线安装mysql
    docker离线安装mysql 第一步:找到一台联网的安装了docker的服务器,查看当前docker镜像:docker images ,拉取mysql镜像包:docker save -o mysql...
    99+
    2023-09-03
    docker mysql 容器
  • docker怎么安装mysql
    这篇“docker怎么安装mysql”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker怎么安装mysql”文章吧。1...
    99+
    2023-06-29
  • Docker中安装MySQL 8
    前言 上一期在Windows中安装好了Docker环境,这一期在Docker中完成MySQL 8安装和配置。 启动Docker Desktop后在cmd窗口中输入docker -v即可查看到安装的do...
    99+
    2023-08-31
    docker mysql 容器
  • docker安装mysql的方法
    这篇文章将为大家详细讲解有关docker安装mysql的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker安装mysql的方法:首先查询并下载镜像,代码为【d...
    99+
    2024-04-02
  • CentOS7 使用Docker 安装MySQL
    CentOS7 使用Docker 安装MySQL Docker的相关知识本篇不会再概述,有疑惑的同学请自行查找相关知识。本篇只是介绍如何在CentOS7下使用Docker安装相应的镜像。 可登陆Doc...
    99+
    2023-09-08
    docker mysql 运维
  • 升级 MySQL 的 Docker 安装
    在升级 MySQL 的 docker 安装之前,请确保遵循以下步骤 -下载 MySQL 服务器 docker 映像。启动 MySQL 服务器实例。从容器内连接到 MySQL 服务器实例。以下是将 Docker 安装的 MySQL 5.7 升...
    99+
    2023-10-22
  • docker中如何安装mysql
    这篇文章主要介绍docker中如何安装mysql,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!    1、docker hub上面查找mysql镜像[root@t-docker...
    99+
    2023-06-04
  • Linux虚拟机上怎么安装docker并使用docker安装mysql
    Linux虚拟机上怎么安装docker并使用docker安装mysql,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。序言现在在Linux虚拟机上安装程序,越来越多的人都使用do...
    99+
    2023-06-05
  • docker安装mysql并持久化
    参考博客:https://blog.csdn.net/weixin_38657051/article/details/98596926 拉取镜像: docker pull mysql:latest 创建持久化文件夹 ## 创建mysq...
    99+
    2018-06-26
    docker安装mysql并持久化 数据库入门 数据库基础教程 数据库 mysql
  • Docker安装 Mysql 8.x 版本
    文章目录 Docker安装 Mysql 8.0.22Mysql 创建账号并授权Mysql 数据迁移同版本数据迁移跨版本数据迁移 Mysql 5.x 版本与 Mysql...
    99+
    2023-09-03
    docker mysql
  • docker环境下安装mysql 5.6
    一、查看mgsql镜像版本 docker search mysql 二、拉取mysql镜像到本地标签为5.6版本 docker pull mysql:5.6 三、使用mysql5.6镜像创建容器(也叫运行镜像) 执行命令: ...
    99+
    2023-10-03
    docker mysql 容器
  • 13. Docker实战之安装MySQL
    目录 1、前言 2、部署MySQL 2.1、Docker仓库查看镜像 2.2、拉取MySQL镜像 2.3、创建持久化目录 2.4、启动MySQL容器 2.5、查看宿主机上的MySQL目录 2.6、本地MySQL测试 2.7、新建MySQL...
    99+
    2023-09-03
    docker mysql 运维 云原生 linux 容器
  • mac m2 arm64 docker安装mysql 5.7
    前提:已安装docker 拉取官方镜像 docker pull mysql:5.7 # 拉取 mysql 5.7docker pull mysql # 拉取最新版mysql镜像 问题处理: 执行docker pull...
    99+
    2023-09-04
    macos Powered by 金山文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作