Linux中使用Docker部署Mysql数据库

news2024/11/18 15:51:28

前言

和朋友一起搞一个项目,分了一下工作,但是mysql迟迟安装不上,程序都在一个环境里确实容易出现很多问题,浪费时间和经历在这些配置上,好在有docker了,就在docker里搭建一个Mysql数据库使用吧,顺便出一篇教程记录和分享。

在这里插入图片描述


Linux中使用Docker部署Mysql数据库

  • 前言
  • 1 检查docker是否运行
  • 2 检索mysql镜像
  • 3 下载mysql镜像
    • 下载好后,可以检查是否已经下载成功:
  • 4 使用docker启动mysql数据库容器
  • 5 查看是否启动mysql数据库成功
  • 6 设置mysql数据库的远程链接
    • 进入mysql容器:
    • 登陆mysql数据库:
    • 授权:
    • 重新授权表:
    • 退出mysql:
    • 退出容器
  • 7 Navicat远程链接

1 检查docker是否运行

systemctl status docker

k17gc10Z ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-02-23 10:48:05 CST; 23h ago
     Docs: https://docs.docker.com
 Main PID: 735685 (dockerd)
    Tasks: 19
   Memory: 119.3M
   CGroup: /system.slice/docker.service
           ├─735685 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─752356 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8081 -container-ip 172.17.0.2 -container-port 8080
           └─752360 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8081 -container-ip 172.17.0.2 -container-port 8080
.......................

若没有运行则启动docker:

systemctl start docker

2 检索mysql镜像

docker search mysql

k17gc10Z ~]# docker search mysql
NAME                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                           MySQL is a widely used, open-source relation…   13847     [OK]       
mariadb                         MariaDB Server is a high performing open sou…   5281      [OK]       
percona                         Percona Server is a fork of the MySQL relati…   599       [OK]       
phpmyadmin                      phpMyAdmin - A web interface for MySQL and M…   744       [OK]       
circleci/mysql                  MySQL is a widely used, open-source relation…   28                   
bitnami/mysql                   Bitnami MySQL Docker Image                      80                   [OK]
bitnami/mysqld-exporter                                                         4                    
ubuntu/mysql                    MySQL open source fast, stable, multi-thread…   41                   
cimg/mysql                                                                      0                    
rapidfort/mysql                 RapidFort optimized, hardened image for MySQL   14                   
google/mysql                    MySQL server for Google Compute Engine          23                   [OK]
ibmcom/mysql-s390x              Docker image for mysql-s390x                    2                    
rapidfort/mysql8-ib             RapidFort optimized, hardened image for MySQ…   0                    
hashicorp/mysql-portworx-demo                                                   0                    
newrelic/mysql-plugin           New Relic Plugin for monitoring MySQL databa…   1                    [OK]
rapidfort/mysql-official        RapidFort optimized, hardened image for MySQ…   0                    
databack/mysql-backup           Back up mysql databases to... anywhere!         81                   
linuxserver/mysql               A Mysql container, brought to you by LinuxSe…   38                   
mirantis/mysql                                                                  0                    
docksal/mysql                   MySQL service images for Docksal - https://d…   0                    
vitess/mysqlctld                vitess/mysqlctld                                1                    [OK]
linuxserver/mysql-workbench                                                     48                   
eclipse/mysql                   Mysql 5.7, curl, rsync                          0                    [OK]
drud/mysql                                                                      0                    
silintl/mysql-backup-restore    Simple docker image to perform mysql backups…   0                    [OK]


NAME:镜像名
DESCRIPTION:说明
STARS:热度
OFFICIAL:是否官方
AUTOMATED:是否自动

3 下载mysql镜像

docker pull mysql:5.7

1k17gc10Z ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
e048d0a38742: Pull complete 
c7847c8a41cb: Pull complete 
351a550f260d: Pull complete 
8ce196d9d34f: Pull complete 
17febb6f2030: Pull complete 
d4e426841fb4: Pull complete 
fda41038b9f8: Pull complete 
f47aac56b41b: Pull complete 
a4a90c369737: Pull complete 
97091252395b: Pull complete 
84fac29d61e9: Pull complete 
Digest: sha256:8cf035b14977b26f4a47d98e85949a7dd35e641f88fc24aa4b466b36beecf9d6
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

下载好后,可以检查是否已经下载成功:

docker images

17gc10Z ~]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
jenkins/jenkins   lts       f16216f97fcb   2 weeks ago     467MB
mysql             5.7       be16cf2d832a   3 weeks ago     455MB
hello-world       latest    feb5d9fea6a5   17 months ago   13.3kB


REPOSITORY:镜像名
TAG:标签,latest表示为最新的
IMAGE ID:镜像id
CREATED:创建时间
SIZE:大小
上图中表示mysql镜像文件已经下载成功

4 使用docker启动mysql数据库容器

docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7

k17gc10Z ~]# docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7
68b7dc6f81b01f3c209a66b519633d1a6e8849bb99036fff951dddde83bd3472

-v :指明挂在卷
–restart:自动重启
–name:给容器命名
-e:设置账号密码
-p: 指明宿主机端口:docker内部端口
-d:指明用什么镜像的id启动
c5244d16078bb224ce77c3e6446ab6466a95d5fe801b2269d4c00b0eb0d65319:启动的mysql容器的id

5 查看是否启动mysql数据库成功

docker ps -l

7gc10Z ~]# docker ps -l
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
68b7dc6f81b0   mysql:5.7   "docker-entrypoint.s…"   39 seconds ago   Up 38 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql

CONTAINER ID:容器id
IMAGES:镜像id
CREATED:创建时间
STATUS:状态
NAME:容器名
到此可知,mysql容器创建成功

6 设置mysql数据库的远程链接

进入mysql容器:

docker exec -it mysql bash

7gc10Z ~]# docker exec -it mysql bash


登陆mysql数据库:

mysql -u root -p"root"

bash-4.2# mysql -u root -p"root"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


授权:

GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)



重新授权表:

FLUSH PRIVILEGES;

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)



退出mysql:

exit

mysql> exit
Bye



退出容器

exit

bash-4.2# exit
exit

7 Navicat远程链接

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/370410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】计算机网络

目录一、概述计算机网络体系结构二、应用层DNS应用文件传输应用DHCP 应用电子邮件应用Web应用当访问一个网页的时候,都会发生什么三、传输层UDP 和 TCP 的特点UDP 首部格式TCP 首部格式TCP 的三次握手TCP 的四次挥手TCP 流量控制TCP 拥塞控制三、网络层IP 数据报格式…

李宏毅《机器学习》Bert笔记

李宏毅《机器学习》Bert笔记和工作原理解释1.参考2. self-supervised learning--bert3. bert的一些用法3.1情感分析3.2词性标注3.3常识推理和NLI3.4 QA问题4.bert的工作原理解释1.参考 bert论文 李宏毅《机器学习》自监督训练-bert 2. self-supervised learning–bert Bert模…

图解JVM

1.JVM的一些概念 ​ JVM:Java虚拟机,可以存储代码以及在运行是可以动态调用一些指令的项目集。 ​ JDK:Java运行时所依赖的环境,[jar包、类]。 ​ JVM的作用:负责将.class文件解释成机器能够识别的机器码。 ​ JVM的位置:在操作系统之上,介于应用与系统之间。 ​ 机器码…

python自动化测试学习路线(从入门到精通)

目录:导读 一、Python的应用场景 二、自动化测试的那些事 三、主流自动化测试框架 三、Python自动化测试学习路线 写在最后 一、Python的应用场景 Python用于简单脚本编程,如编写2048小游戏或12306的自动抢票软件; Python用于系统编程&…

数组(二)-- LeetCode[303][304] 区域和检索 - 数组不可变

1 区域和检索 - 数组不可变 1.1 题目描述 题目链接:https://leetcode.cn/problems/range-sum-query-immutable/ 1.2 思路分析 最朴素的想法是存储数组 nums 的值,每次调用 sumRange 时,通过循环的方法计算数组 nums 从下标 iii 到下标 jjj …

javaEE 初阶 — 关于 IPv4、IPv6 协议、NAT(网络地址转换)、动态分配 IP 地址 的介绍

文章目录1. IPv42. IPv63. NAT4. 动态分配 IP 地址1. IPv4 在互联网的世界中只有 0 和1 ,所以每个人都有一个由 0 和 1 组成的地址来让别人找到你。 这段由 0 和 1 组成的地址叫 IP 地址,这是互联网的基础资源,可以简单的理解为互联网的土地。…

《Qt 6 C++开发指南》简介

我们编写的新书《Qt 6 C开发指南》在2月份终于正式发行销售了,这本书是对2018年5月出版的《Qt 5.9 C开发指南》的重磅升级。以下是本书前言的部分内容,算是对《Qt 6 C开发指南》的一个简介。1.编写本书的目的《Qt 5.9C开发指南》是我写的第一…

(三)代表性物质点邻域的变形分析

本文主要内容如下:1. 伸长张量与Cauchy-Green 张量2. 线元长度的改变2.1. 初始/当前构型下的长度比2.2. 主长度比与 Lagrange/Euler 主方向2.3. 初始/当前构型下任意方向的长度比3. 线元夹角的改变4. 面元的改变5. 体元的改变1. 伸长张量与Cauchy-Green 张量 由于变…

新C++(10):Map\Set的封装

"湖人总冠军"一、Map\Set的介绍Set是C标准库中的一种关联容器。所谓关联容器就是通过键(key)来读取和修改元素。与map关联容器不同,它只是单纯键的集合。取自这里Map是STL 的一个关联容器,它提供一对一(其中…

第二回:艺术画笔见乾坤

import numpy as np import pandas as pd import re import matplotlib import matplotlib.pyplot as plt from matplotlib.lines import Line2D from matplotlib.patches import Circle, Wedge from matplotlib.collections import PatchCollection一、概述 1. matplotlib…

软件测试:用“bug”来表示“在电脑程序里的错误”

计算机基础知识计算机(personal computer)俗称电脑(pc),是现代一种用于高速计算的电子机器,可以进行数值计算,又可以进行逻辑判断,还具有存储记忆功能,且能够按照程序的运…

【模拟集成电路】频率综合器(Frequency Synthesizer,FS)设计

应用于无线局域网的频率综合器设计前言频率综合器简介各部分链接链接:前言 本文主要内容是对频率综合器或称为PLL 做出简单介绍,为课程设计部分章节内容,后需给出各部分的设计方案,以及测试结果。 频率综合器简介 无线收发系统中…

跳槽进字节跳动了,面试真的很简单

前言: 最近金三银四跳槽季,相信很多小伙伴都在面试找工作, 怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深测试工程师整理的…

Elasticsearch7.8.0版本进阶——持久化变更

目录一、持久化变更的概述二、事务日志(translog)三、持久化变更完整流程四、事务日志(translog)的作用五、事务日志(translog)的目的一、持久化变更的概述 没有用 fsync 把数据从文件系统缓存刷&#xff…

随机森林算法(Random Forest)R语言实现

随机森林1. 使用Boston数据集进行随机森林模型构建2. 数据集划分3.构建自变量与因变量之间的公式4. 模型训练5. 寻找合适的ntree6. 查看变量重要性并绘图展示7. 偏依赖图:Partial Dependence Plot(PDP图)8. 训练集预测结果1. 使用Boston数据集进行随机森…

【华为OD机试模拟题】用 C++ 实现 - 分糖果(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

【华为OD机试模拟题】用 C++ 实现 - 时间格式化(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

匈牙利算法与KM算法的区别

前记 在学习过程中,发现很多博客将匈牙利算法和KM算法混为一谈,当时只管用不管分析区别,所以现在来分析一下两个算法之间的区别。 匈牙利算法在二分图匹配的求解过程中共两个原则: 1.最大匹配数原则 2.先到先得原则 而KM算法求…

Linux centos升级nodejs,解决升级NodeJS遇到的问题,升级GLIBC、GLIBCXX、gcc(含资源包下载)

公司网站用的Nuxt开发的,本地开发环境NodeJS已经升级到16.14.2版本,服务器也要从12版本升级到16.14.2 如需本次安装的资源,请下滑到文章下面下载整套资源 NodeJS版本下载地址:https://nodejs.org/dist/v16.14.2 解压安装node后…

Docker 应用实践-仓库篇

目前 Docker 官方维护了一个公共仓库 Docker Hub,用于查找和与团队共享容器镜像,界上最大的容器镜像存储库,拥有一系列内容源,包括容器社区开发人员、开放源代码项目和独立软件供应商(ISV)在容器中构建和分…