溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker中如何搭建MySQL數(shù)據(jù)庫(kù)服務(wù)

發(fā)布時(shí)間:2021-12-21 13:25:04 來(lái)源:億速云 閱讀:278 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Docker中如何搭建MySQL數(shù)據(jù)庫(kù)服務(wù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

    使用官方的mysql鏡像搭建數(shù)據(jù)庫(kù)服務(wù),目前的latest版本對(duì)應(yīng)8.0.19版本,為防止后續(xù)官方更新版本后下面步驟出現(xiàn)兼容性問(wèn)題,使用鏡像時(shí)可指定8.0.19版本。

    1 創(chuàng)建配置和數(shù)據(jù)目錄

    在本機(jī)創(chuàng)建目錄用于存儲(chǔ)mysql的配置和數(shù)據(jù)。

    • 配置文件目錄:~/docker/conf/mysql

    • 數(shù)據(jù)文件目錄:~/docker/data/mysql

    docker pull mysql

    3 從鏡像內(nèi)復(fù)制配置文件到宿主機(jī)

    鏡像內(nèi)部配置文件存放在/etc/mysql目錄下,臨時(shí)創(chuàng)建容器復(fù)制配置文件目錄到本機(jī)~/docker/conf/目錄

    # 創(chuàng)建名為mysql的容器
    docker run --name mysql -e MYSQL_ROOT_PASSWORD=crane -d mysql
    
    # 復(fù)制docker容器內(nèi)配置文件到本地~/docker/conf/mysql目錄
    docker cp mysql:/etc/mysql /Users/crane/docker/conf/
    
    # 停止并刪除臨時(shí)容器
    docker stop mysql
    docker rm mysql

    4 創(chuàng)建并運(yùn)行mysql容器

    掛載宿機(jī)配置和數(shù)據(jù)文件目錄到docker容器內(nèi)部,終端執(zhí)行如下命令

    # ~/docker/conf/mysql目錄下為mysql配置文件
    # ~/docker/data/mysql目錄下為mysql數(shù)據(jù)文件
    # 本機(jī)的3306和33060端口分別映射docker內(nèi)部的3306和33060端口
    # 數(shù)據(jù)庫(kù)root密碼為crane
    # -d后臺(tái)運(yùn)行docker
    docker run --name mysql -v ~/docker/conf/mysql:/etc/mysql/conf.d -v ~/docker/data/mysql:/var/lib/mysql -p 3306:3306 -p 33060:33060 -e MYSQL_ROOT_PASSWORD=crane -d mysql

    5 宿主機(jī)連接數(shù)據(jù)庫(kù)

    5.1 終端命令連接

    上一步驟容器啟動(dòng)成功后,在宿主機(jī)終端執(zhí)行以下命令連接數(shù)據(jù)庫(kù)

    # 輸入以下命令后回車,輸入數(shù)據(jù)庫(kù)密碼crane
    mysql -uroot -p --protocol=tcp

    Docker中如何搭建MySQL數(shù)據(jù)庫(kù)服務(wù)

    上面命令指定使用tcp連接數(shù)據(jù)庫(kù),如果不添加--protocol=tcp,默認(rèn)會(huì)使用socket連接,會(huì)報(bào)錯(cuò)如下

    Docker中如何搭建MySQL數(shù)據(jù)庫(kù)服務(wù)

    5.2 數(shù)據(jù)庫(kù)工具連接

    也可用數(shù)據(jù)庫(kù)工具連接,如DataGrip,進(jìn)行相關(guān)數(shù)據(jù)操作。

    Docker中如何搭建MySQL數(shù)據(jù)庫(kù)服務(wù)

    Docker中如何搭建MySQL數(shù)據(jù)庫(kù)服務(wù)

    6 查看mysql日志

    容器正常運(yùn)行過(guò)程中可使用下面命令查看日志

    docker logs -f mysql

    搭建服務(wù)時(shí)使用外部掛載的配置和數(shù)據(jù),便于數(shù)據(jù)備份和遷移。如果在另外一臺(tái)主機(jī)上使用相同版本的docker鏡像啟動(dòng)一個(gè)容器,掛載備份的配置和數(shù)據(jù),將會(huì)得到完全一致的數(shù)據(jù)庫(kù)配置和數(shù)據(jù)。

    上述就是小編為大家分享的Docker中如何搭建MySQL數(shù)據(jù)庫(kù)服務(wù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI