通过Docker新建并使用MySQL数据库

news2024/9/27 3:23:25

1. 安装Docker

确保您的系统上已经安装了Docker。可以通过以下命令检查Docker是否安装并运行:

systemctl status docker

如果没有安装或运行,请按照官方文档进行安装和启动。

2. 拉取MySQL镜像

从Docker Hub拉取MySQL官方镜像。这里以MySQL 5.7版本为例:

docker pull mysql:5.7

3. 启动MySQL容器

使用以下命令启动一个新的MySQL容器,并设置root密码:

docker run --name mysql5.7-dev -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

通过docker ps查看状态
在这里插入图片描述

这里,--name 指定容器名称,-p 指定端口映射(将容器的3306端口映射到宿主机的3307端口),-e 用于设置环境变量,这里设置了MySQL的root密码。

4. 连接到MySQL

启动容器后,可以使用以下命令进入MySQL命令行:

docker exec -it mysql5.7-dev mysql -u root -p

输入密码(上面设置的123456)后,即可进入MySQL命令行。

在这里插入图片描述
这里输入密码时,不会显示,是正常现象。

5. 创建数据库

在MySQL命令行中,创建一个新的数据库:

CREATE DATABASE my_database;

在这里插入图片描述

6. 创建用户并授权

为了从外部连接到MySQL,需要创建一个用户并授权:

CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON my_database.* TO 'admin'@'%';
FLUSH PRIVILEGES;

在这里插入图片描述

这里创建了一个名为admin,密码为123456的用户,并授权该用户访问my_database数据库。

7. 设置远程连接

为了让外部工具(如Navicat)能够连接到MySQL,需要修改MySQL配置,允许远程连接。

首先,退出MySQL命令行,然后重新进入容器并编辑MySQL配置文件:

docker exec -it mysql5.7-dev bash

接着,编辑/etc/mysql/my.cnf文件,找到[mysqld]部分,并添加以下内容:

[mysqld]
bind-address = 0.0.0.0

保存并退出编辑器,重启MySQL服务:

docker restart mysql5.7-dev

8. 使用外部工具连接

现在,可以使用任何支持MySQL的客户端工具(如Navicat)连接到数据库。输入宿主机的IP地址和映射的端口(例如,localhost:3307),使用步骤6中创建的用户名和密码进行连接。

使用步骤:
我们来创建数据库和表,然后添加一些数据:

  1. 连接到MySQL:使用以下命令连接到MySQL命令行:

    docker exec -it mysql5.7-dev mysql -u root -p
    

    输入您设置的root密码后,您将进入MySQL命令行界面。
    在这里插入图片描述

  2. 创建数据库:在MySQL命令行中,创建一个新的数据库example_db

    CREATE DATABASE example_db;
    
  3. 选择数据库:选择刚刚创建的数据库:

    USE example_db;
    
  4. 创建表:创建一个名为users的表,用于存储用户数据。这里我们假设用户具有idusernameemail字段:

    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50),
        email VARCHAR(100)
    );
    
  5. 添加数据:向users表中插入一些用户数据:

    INSERT INTO users (username, email) VALUES
        ('user1', 'user1@example.com'),
        ('user2', 'user2@example.com'),
        ('user3', 'user3@example.com');
    
  6. 查看数据:使用SELECT语句查看users表中的所有数据:

    SELECT * FROM users;
    

    这将检索users表中所有行的数据,并将其显示在命令行中。
    在这里插入图片描述

通过这些步骤,您已经成功创建了一个新的数据库,向其中的表添加了一些新数据,并查看了添加的数据。您可以根据您的需要修改这些示例,并探索更多MySQL数据库操作。

在这里插入图片描述

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

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

相关文章

(回溯)记忆化搜索和dp

动态规划的核心就是 状态的定义和状态的转移 灵神 的 回溯改递归思路 首先很多动态规划问题都可以采用 回溯 的思想 回溯主要思想就是把 一个大问题分解成小问题 比如 采用子集类回溯问题中的核心思想-> 选或不选 或者 选哪个 记忆化搜索之后 我们可以发现 每个新节点依…

【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制(CRC算法、MD5算法)

目录 UDP协议 UDP协议的报文结构及注意事项 UDP报文结构中的校验和字段 1. 校验和主要校验的内容 2. UDP校验和的实现方式 3. CRC(循环冗余校验)算法 4. MD5(Message Digest Algorithm 5) UDP协议 上一篇文章提过&#xf…

【C++】双指针算法:复写零

1.题目 别看这是一道简单题,它的通过率低于一些中等甚至困难的题目! 大大增加这道题目难度的是最后一句话:1.不可越界写入。2.就地修改。 如果可以再创建一个数组的话,那么这道题目就会非常简单,但这道题目必须要求在…

汽车IVI中控开发入门及进阶(十六):carplay认证

现在有些中控采用高通的芯片如8155、8295等,实现多屏互动等,但是也有一些车型走低成本方案,比如能够实现HiCar、CarLife或者苹果Apple的Carplay等能进行手机投屏就好了。 能实现CarPlay功能通过Carplay认证,也就成了一些必须的过程,国产车规级中控芯片里,开阳有一款ARK1…

AI视频分析技术的常用开源模型及TSINGSEE青犀AI视频识别分析能力介绍

AI视频分析技术是指利用人工智能技术来对视频数据进行分析和处理的技术。开源模型是指可以免费获取和使用的代码模型,可以帮助开发人员快速构建和部署AI视频分析应用程序。 以下是一些业内常用的用于AI视频分析技术的开源模型: OpenCV:Open…

kali搭建vulfocus靶场

电脑安装kali,使用kali搭建靶场,自己电脑作为VPS使用 kali 先装好docker: # docker version # 查看当前是否有docker,如果无docker ,则进行docker安装 # apt install docker.io 安装完成后,再次输入 # docker…

【数据结构】二叉树链式结构的实现《遍历,实现》(题库+解析+源码)

前言 二叉树的学习离不开对堆的理解,这是上篇堆的传送门 http://t.csdnimg.cn/F6Jp3 1.二叉树链式结构的实现 1.1 前置说明 在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还…

【Java】常见锁策略 CAS机制 锁优化策略

前言 在本文会详细介绍各种锁策略、CAS机制以及锁优化策略 不仅仅局限于Java,任何和锁相关的话题,都可能会涉及到下面的内容。 这些特性主要是给锁的实现者来参考的. 普通的程序猿也需要了解一些, 对于合理的使用锁也是有很大帮助的 文章目录 前言✍一、…

收集统计信息报错ora-00600[16515]问题处理

1、基础环境 操作系统Oracle Solaris 11.3 数据版本Oracle 12.2 2、故障理像 对一个20T的大库收集一下全库的统计信息 原因是现在都2024年了,这个库的统计信息基本都是2021年, 没具体查找啥原因导致的系统自定义的收集任务失败,于是决定手…

2024年内外贸一体化融合发展(长沙)交易会

2024年内外贸一体化融合发展(长沙)交易会 一、总体思路 充分发挥湖南作为全国内外贸一体化试点地区作用,坚持“政府主导、市场驱动、企业为主”的原则,以“助力双循环,拓展新市场,促进新消费”为主题&…

腾讯云服务器价格明细表2024年最新(CPU内存/带宽/磁盘)

腾讯云服务器价格明细表2024年最新(CPU内存/带宽/磁盘)腾讯云服务器租用优惠价格表:轻量应用服务器2核2G3M价格61元一年,2核2G4M价格99元一年、135元15个月、540元三年,2核4G5M带宽165元一年、252元15个月、756元3年&a…

VBA运行后,为什么excel的三个工作表结果一样?

运行完了excel的三个工作表的结果一样,问题在哪呢? 代码如下: Sub 计算成绩() 计算成绩 Macro i为工作表行号 Dim i, m, total As Integer Dim w1 As Worksheet For m 1 To Worksheets.count Set w1 Worksheets(m) i 2 total 0 …

【MySQL 数据宝典】【磁盘结构】- 002 数据字典

一、数据字典 ( Data Dictionary ) 1.1 背景介绍 我们平时使用 INSERT 语句向表中插入的那些记录称之为用户数据,MySQL只是作为一个软件来为我们来保管这 些数据,提供方便的增删改查接口而已。但是每当我们向一个表中插入一条记录的时候,MyS…

ZISUOJ 数据结构--队列及其应用

说明: 基本都是bfs的常见模板题型,思路都很直接,不过后面有两道题很搞心态,它们给的坐标x、y是反的,导致刚开始一直错。题目还是要看仔细,不能先入为主。 题目列表: 问题 A: 围圈报数(完善程序…

Python实现对波士顿房价的分析与预测

文章目录 问题分析所需环境代码实现1. 相关性分析及可视化2. 房价分析及可视化3. 构建房价预测模型问题分析 波士顿房价数据集包含美国人口普查局收集的美国马萨诸塞州波士顿住房价格的有关信息, 数据集很小,只有506个案例。 数据集都有以下14个属性,具体含义如下 现在需要…

工业控制(ICS)---组态软件分析

组态软件 什么是组态软件? 组态软件就是一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的通用层次的软件工具。 组态软…

轮转数组(Leedcode)的题目

题目:给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步…

恶心透了的小日子,害人终害己,国货呼吁关注抵制日本核废水排放

​|日本排放核废水 日本政府决定将福岛第一核电站的核污染水经过处理后排放入海,这一决定引发了多方面的担忧和反对,特别是在周边国家,包括中国和韩国。关于日本排放核污染水这一新闻事件,我们必须首先认识到,核能利用…

二百三十三、Flume——Flume采集JSON文件到Kafka,再用Flume采集Kafka数据到HDFS中

一、目的 由于使用了新的Kafka协议,因为根据新的协议推送模拟数据到Kafka中,再Flume采集Kafka数据到HDFS中 二、技术选型 (一)Kettle工具 准备使用Kettle的JSON input控件和Kafka producer控件,但是搞了1天没搞定&…

《自动机理论、语言和计算导论》阅读笔记:p261-p314

《自动机理论、语言和计算导论》学习第 10 天,p261-p314总结,总计 48 页。 一、技术总结 1.generating & reachable 2.Chomsky Normal Form(CNF) 乔姆斯基范式。 3.pumping lemma 泵作用引理。引理:引理是数学中为了取得某个更好的…