首页 > 数据库 >docker-compose教程:部署MySQL完整步骤

docker-compose教程:部署MySQL完整步骤

时间:2023-09-02 11:33:37浏览次数:36  
标签:compose MySQL init mysql docker my localhost


目录结构

root@localhost mysql # tree
.
├── conf
│   └── my.cnf
├── db
├── docker-compose.yml
└── init
    └── init.sql

docker-compose.yml

version: '2'
services:
    mysql:
        #network_mode: "host" 	#将直接使用主机端口
        environment:
            MYSQL_ROOT_PASSWORD: "yourpassword"
            MYSQL_USER: 'test'
            MYSQL_PASS: 'yourpassword'
        image: "docker.io/mysql:latest" 
        restart: always
        volumes:
            - "./db:/var/lib/mysql"
            - "./conf/my.cnf:/etc/my.cnf"
            - "./init:/docker-entrypoint-initdb.d/"

my.cnf

root@localhost conf # cat my.cnf 

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

init.sql

root@localhost init # cat init.sql 
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
create database test;
use test;
create table user
(
    id int auto_increment primary key,
    username varchar(64) unique not null,
    email varchar(120) unique not null,
    password_hash varchar(128) not null,
    avatar varchar(128) not null
);
insert into user values(1, "zhangsan","[email protected]","passwd","avaterpath");
insert into user values(2, "lisi","[email protected]","passwd","avaterpath");

启动

root@localhost mysql # docker-compose pull

.......下载镜像过程

root@localhost mysql # docker-compose up -d

mysql_mysql_1_234be9b015e4 is up-to-date
root@localhost mysql #


标签:compose,MySQL,init,mysql,docker,my,localhost
From: https://blog.51cto.com/zhangxueliang/7331364

相关文章

  • docker-compose 增加端口,不重新创建容器
    version:'3.3'services:debian:image:debian:10ports:-2226:22-8083:8083volumes:-app_data:/path/to/app_datacommand:tail-f/dev/nullvolumes:app_data:docker-compose-fdocker-compose.ymlup......
  • MySQL binlog日志总结
    概念描述binlog日志:binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。binlog可用于实时备份,主从复制master->slave的数据同步。知识总结binlog相关参数:log_bin:#开启binlog参数,可以指定......
  • 云原生之部署Docker管理面板SimpleDocker
    (云原生之部署Docker管理面板SimpleDocker)一、SimpleDocker介绍1.SimpleDocker简介SimpleDocker是一个简单的Docker控制面板,致力于可以让开发者更方便,更无障碍的使用Docker,其界面简洁,操作便捷。2.SimpleDocker特点当前版本的特点镜像 详情、拉取、运行、导出、导......
  • DBeaver 使用中遇到驱动的问题并解决方案--mysql
    一、DBeaver的下载二、DBeaver的安装1、双击下载的EXE安装包,按提示选择目录进行安装即可三、DBeaver的配置1、第一次启动时会有一个弹窗,意思是添加一个连接数据库的模板,可以选择否2、点击窗口-首选项-连接-驱动-Maven,点击添加,增加仓库源地址(阿里云:https://maven.aliyun.com/......
  • .NetCore6 与 MySql 联查 (使用Lambda表达式树)
    MySql 官网链接:  https://www.donet5.com/Doc/99999999999/1180    2. 落实代码  or and 并且(满足所有条件) 或者(满足其中一个条件)  查询 OrIF !非空,查询  3. 联查表  官网找方法   4.落实  我这有一个字典表......
  • docker 命令
    #查版本docker--version#从云仓库下载指定版本的Tomcatdockerpulltomcat:8.0   #查询镜像是否存在 #创建容器dockercreate--namet1ef6 #查询是否创建成功 #启动容器后查询启动状态是否成功 #停止并查询状态 ......
  • mysql超出最大连接数解决方法
    遇到mysql超出最大连接数,相信不少人第一反应就是查看mysql进程,看有没有慢查询,当然这个做法是完全正确的!但是很多时候真正的问题不在这里。今天有遇到同样的问题,一味查看mysql进程和慢查询日志,无果。后来老大提点了一下,查看一下nginx日志,发现有一两个访问执行时候比较长,然后使用top......
  • Docker深如学习及命令使用
    docker原理及构成:特点:轻量化,易迁移,架构快架构:分层式架构分为:内核、操作系统、上层应用docker使用方式:注:docker创建容器时,必须让容器内有进程在跑着,否则容器会自动挂掉增:获取docker镜像,创建docker容器dockerpullnginx:tagdockerrun-d-p80:90nginx  -d后台运行......
  • mysql的GTID同步
    什么是GTID?GTID(GlobalTransactionID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。下面是一个GTID的具体形式:03a1eb63......
  • 下载和安装MySQL服务器
    要下载和安装MySQL服务器,您可以按照以下步骤进行操作。请注意,MySQL的版本和安装方法可能会有所不同,因此确保查看官方网站以获取最新的安装指南和下载链接。以下是在常见的Windows、Linux和macOS操作系统上安装MySQL服务器的基本步骤:在Windows上安装MySQL服务器:访问MySQL官方......