使用Docker学习mysql实践

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 使用Docker学习mysql实践

一 安装mysql

----- 由于mysql8.0 登录十分麻烦 现安装数据库为mysql5.0

  1. 拉取镜像

    docker pull hub.c.163.com/library/mysql:5.7

  2. 启动mysql服务

    docker run --name mysql -v /home/mysql/datadir:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 hub.c.163.com/library/mysql:5.7

二 进入mysql容器内部

  1. sudo docker exec -it f08f5f13eaeb /bin/bash
  2. 登录mysql mysql -uroot -p
  3. 选择数据库

    use mybatic;

  4. 在数据库中新建表

    create table z( a int not null, b int not null, c int not null,unique key(a))

  5. 向表中插入数据

    insert into z select 1,2,3

  6. 查询表数据

    select * from z;

    image.png

  7. 查询表索引

    SHOW INDEX FROM z

![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e58d16c0dc8641828cbec9bd00c8c505~tplv-k3u1fbpfcp-watermark.image)
  1. 创建索引

    唯一索引
    ALTER TABLE z ADD KEY (a)

  2. 设置事务为手动提交

    set autocommit = 0;

  3. 查看执行计划

    EXPLAIN SELECT * FROM z WHERE a = '1'

![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9d2935218ee94a68909caa8cfcc9fda9~tplv-k3u1fbpfcp-watermark.image)
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
关系型数据库 MySQL Docker
Docker 安装 MySQL
Docker 安装 MySQL
37 1
|
18天前
|
SQL 关系型数据库 MySQL
(二十五)MySQL主从实践篇:超详细版读写分离、双主热备架构搭建教学
在上篇《主从原理篇》中,基本上把主从复制原理、主从架构模式、数据同步方式、复制技术优化.....等各类细枝末节讲清楚了,本章则准备真正对聊到的几种主从模式落地实践,但实践的内容通常比较枯燥乏味,因为就是调整各种配置、设置各种参数等步骤。
|
8天前
|
NoSQL 关系型数据库 MySQL
无法访问Docker 里的 mysql, redis
无法访问Docker 里的 mysql, redis
9 0
|
12天前
|
SQL 关系型数据库 MySQL
MySQL运行在docker容器中会损失多少性能
MySQL运行在docker容器中会损失多少性能
|
12天前
|
搜索推荐 关系型数据库 MySQL
[mysql]定制封装MySQL的docker镜像
[mysql]定制封装MySQL的docker镜像
|
21天前
|
关系型数据库 MySQL 数据安全/隐私保护
docker安装mysql
docker安装mysql
41 0
|
5天前
|
存储 关系型数据库 MySQL
MySQL——数据库备份上传到阿里云OSS存储
MySQL——数据库备份上传到阿里云OSS存储
20 0
|
9天前
|
SQL 存储 关系型数据库
"MySQL增列必锁表?揭秘InnoDB在线DDL,让你的数据库操作飞一般,性能无忧!"
【8月更文挑战第11天】在数据库领域,MySQL凭借其稳定高效的表现深受开发者喜爱。对于是否会在给数据表添加列时锁表的问题,MySQL的行为受版本、存储引擎等因素影响。从5.6版起,InnoDB支持在线DDL,可在改动表结构时保持表的可访问性,避免长时间锁表。而MyISAM等则需锁表完成操作。例如,在使用InnoDB的表上运行`ALTER TABLE users ADD COLUMN email VARCHAR(255);`时,通常不会完全锁表。虽然在线DDL提高了灵活性,但复杂操作或大表变更仍可能暂时影响性能。因此,进行结构变更前应评估其影响并择机执行。
29 6
|
5天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
8天前
|
Oracle 关系型数据库 MySQL
Mysql和Oracle数据库死锁查看以及解决
【8月更文挑战第11天】本文介绍了解决MySQL与Oracle数据库死锁的方法。MySQL可通过`SHOW ENGINE INNODB STATUS`查看死锁详情,并自动回滚一个事务解除死锁;也可手动KILL事务。Oracle则通过查询V$LOCK与V$SESSION视图定位死锁,并用`ALTER SYSTEM KILL SESSION`命令终止相关会话。预防措施包括遵循ACID原则、优化索引及拆分大型事务。

热门文章

最新文章