欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用?docker?搭建一個(gè)?mysql?服務(wù)

 更新時(shí)間:2022年09月26日 11:07:45   作者:二牛QAQ  
這篇文章主要介紹了如何使用?docker?搭建一個(gè)mysql服務(wù),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言

在日常開(kāi)發(fā)中,數(shù)據(jù)庫(kù) mysql 是必不可少的,但是由于其繁瑣的配置,安裝 mysql 時(shí)總是不太順利,還可能會(huì)踩坑。所以本文的目的,可以讓你快速搭建一個(gè) mysql 服務(wù)。

下面跟著以下教程,可以讓你快速、流暢的安裝 mysql 數(shù)據(jù)庫(kù),流程可分成 4 步。

1. 編寫(xiě) docker-compose.yml 文件

創(chuàng)建 docker-compose.yml 文件,文件內(nèi)容如下:

version: '3.1'

services:
    mysql:
        image: mysql:8
        restart: always
        # https://stackoverflow.com/a/49021165/7756877,使用默認(rèn)的授權(quán)插件,
        # mysql 8 默認(rèn)使用 caching_sha2_password 作為授權(quán)插件,并非 mysql_native_password,
        # 然而 mysql 驅(qū)動(dòng)還不支持 caching_sha2_password,為了往后兼容所以要加這一行。
        command: --default-authentication-plugin=mysql_native_password
        ports:
            - "7306:3306"
        volumes:
            - "./table.sql:/docker-entrypoint-initdb.d/01-init-table.sql"
        environment:
            MYSQL_ROOT_PASSWORD: mysql # root 用戶(hù)的密碼
            MYSQL_DATABASE: lingmo   # 默認(rèn)創(chuàng)建 lingmo 數(shù)據(jù)庫(kù)
            MYSQL_USER: kele         # 新建一個(gè)用戶(hù)
            MYSQL_PASSWORD: baishi2020 # 新建用戶(hù)的密碼

Compose 是用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具。通過(guò) Compose,您可以使用 YML 文件來(lái)配置應(yīng)用程序需要的所有服務(wù)。然后,使用一個(gè)命令,就可以從 YML 文件配置中創(chuàng)建并啟動(dòng)所有服務(wù)。

docker-compose 的 services 屬性中定義的一個(gè) mysql

  • image 表明鏡像版本是 mysql:8
  • command 通過(guò)參數(shù) --default-authentication-plugin 定義了一個(gè)默認(rèn)插件 mysql_native_password, 原因是: mysql 8 默認(rèn)使用 caching_sha2_password 作為授權(quán)插件,并非 mysql_native_password,然而 mysql 驅(qū)動(dòng)還不支持 caching_sha2_password,為了往后兼容所以要加這一行。
  • port 表明使用本地的 7306 端口映射容器中 mysql 的 3306 端口。
  • volumes 表明將 ./table.sql 文件掛載到容器的 docker-entrypoint-initdb.d/01-init-table.sql 文件中,而存在容器中 docker-entrypoint-initdb.d/ 目錄中的文件,在 mysql 第一次啟動(dòng)時(shí)會(huì)執(zhí)行,之后重啟容器不會(huì)重復(fù)執(zhí)行。
  • environment
    • MYSQL_ROOT_PASSWORD: 創(chuàng)建 mysql 服務(wù)時(shí)會(huì)新建一個(gè) root 用戶(hù),這個(gè)屬性定義的是 root 用戶(hù)密碼。
    • MYSQL_DATABASE: 默認(rèn)創(chuàng)建一個(gè) lingmo 的數(shù)據(jù)庫(kù)。
    • MYSQL_USER: 再次創(chuàng)建一個(gè)用戶(hù),用戶(hù)名是 kele。
    • MYSQL_PASSWORD: 表明 kele 用戶(hù)的密碼,這里是 baishi2020

2. 定義測(cè)試數(shù)據(jù)

新建測(cè)試數(shù)據(jù)表 table.sql ,目的是在 mysql 啟動(dòng)時(shí)初始化數(shù)據(jù)。

DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
    `student_id` varchar(255) NOT NULL,
    `student_name` varchar(255),
    `sex` tinyint(1) DEFAULT NULL,
    PRIMARY KEY (`student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4;

INSERT INTO `students`(`student_id`, `student_name`, `sex`) VALUES(1, 'jake', 0), (2, 'jenery', 1);

以上表示新建一張 students 表,然后插入兩條數(shù)據(jù)。

3. 定義啟動(dòng)文件

新建啟動(dòng)文件 set-env.sh, 通過(guò) docker-compose 啟動(dòng) mysql 容器服務(wù);然后通過(guò) souce set-env.sh 把 mysql-local-dev 設(shè)置到環(huán)境變量中去。

#!/bin/bash

MYSQL_LOCAL_ENV_DIR="$( cd "$(dirname "$0")"; pwd -P )"

function mysql-local-dev() {
    case $1 in
        "up")
            docker-compose -p lingmo -f "$MYSQL_LOCAL_ENV_DIR"/docker-compose.yml up -d
            ;;
        "down")
            docker-compose -p lingmo -f "$MYSQL_LOCAL_ENV_DIR"/docker-compose.yml down
            ;;
        *)
            echo 'mysql-local-dev [up | down]'
    esac
}

啟動(dòng) mysql 的三個(gè)文件已定義完成,目錄結(jié)構(gòu)為以下:

?  local-mysql git:(main) ? tree . 
.
├── docker-compose.yml
├── set-env.sh
└── table.sql

0 directories, 3 files

最后,我們測(cè)試下是否可啟動(dòng) mysql。

4. 啟停 mysql

  • 啟動(dòng) mysql
mysql-local-dev up

說(shuō)明 mysql 啟動(dòng)成功。

 通過(guò)相應(yīng)的賬號(hào)、密碼登錄 mysql 即可。

  • 停止 mysql
mysql-local-dev down 

到此這篇關(guān)于如何使用 docker 搭建一個(gè) mysql 服務(wù)的文章就介紹到這了,更多相關(guān) docker 搭建mysql 服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker 常見(jiàn)問(wèn)題解決

    Docker 常見(jiàn)問(wèn)題解決

    這篇文章主要介紹了如何解決Docker 常見(jiàn)問(wèn)題,幫助大家更好的理解和使用docker容器,感興趣的朋友可以了解下
    2020-09-09
  • docker容器環(huán)境安裝及鏡像基礎(chǔ)操作

    docker容器環(huán)境安裝及鏡像基礎(chǔ)操作

    容器是一種輕量級(jí)虛擬化技術(shù),能夠快速構(gòu)建業(yè)務(wù)環(huán)境并便于業(yè)務(wù)遷移,解決兼容性問(wèn)題,這篇文章主要介紹了docker容器環(huán)境安裝及鏡像基礎(chǔ)操作,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Docker中搭建配置Git環(huán)境的過(guò)程

    Docker中搭建配置Git環(huán)境的過(guò)程

    工作中遇到了需要在Docker環(huán)境中操作GitLab倉(cāng)庫(kù)的場(chǎng)景,需要事先在Docker中搭好Git環(huán)境,但是很多朋友不是很清楚Docker配置Git環(huán)境的過(guò)程,今天通過(guò)本文給大家詳細(xì)介紹下,需要的朋友參考下吧
    2021-08-08
  • 利用docker-compsoe部署前后端分離的項(xiàng)目方法

    利用docker-compsoe部署前后端分離的項(xiàng)目方法

    這篇文章主要介紹了利用docker-compsoe部署前后端分離的項(xiàng)目方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解Docker目錄掛載的方法總結(jié)

    詳解Docker目錄掛載的方法總結(jié)

    本篇文章主要介紹了Docker目錄掛載的總結(jié),現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • docker實(shí)現(xiàn)MySQL數(shù)據(jù)同步的方法

    docker實(shí)現(xiàn)MySQL數(shù)據(jù)同步的方法

    docker的一大好處是在本地可以很方便快速的搭建負(fù)載均衡,主從同步等需要多主機(jī)的環(huán)境,本文主要介紹了docker實(shí)現(xiàn)MySQL數(shù)據(jù)同步的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 前端項(xiàng)目容器化Docker打包部署方式詳解

    前端項(xiàng)目容器化Docker打包部署方式詳解

    這篇文章主要為大家介紹了前端項(xiàng)目容器化Docker打包部署方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • cordon節(jié)點(diǎn)drain驅(qū)逐節(jié)點(diǎn)delete節(jié)點(diǎn)詳解

    cordon節(jié)點(diǎn)drain驅(qū)逐節(jié)點(diǎn)delete節(jié)點(diǎn)詳解

    這篇文章主要為大家介紹了cordon節(jié)點(diǎn)drain驅(qū)逐節(jié)點(diǎn)delete節(jié)點(diǎn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • docker-compose部署MySQL8的實(shí)現(xiàn)

    docker-compose部署MySQL8的實(shí)現(xiàn)

    本文主要介紹了docker-compose部署MySQL8的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Docker圖文詳解

    Docker圖文詳解

    今天小編就為大家分享一篇關(guān)于Docker圖文詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01

最新評(píng)論