佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Docker 安裝 MySQL(8和5.7)

Docker 安裝 MySQL(8和5.7)

熱門標(biāo)簽:智能手機(jī) 網(wǎng)站建設(shè) 阿里云 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 使用U盤裝系統(tǒng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心

本篇將介紹如何使用 Docker 部署 MySQL 數(shù)據(jù)庫及遠(yuǎn)程訪問配置

安裝 MySQL

拉取鏡像

使用下面的命令拉取 MySQL 數(shù)據(jù)庫的鏡像:

$ sudo docker pull mysql # 拉取最新版本的鏡像,當(dāng)前為 MySQL 8 版本,tag 為 latest

$ sudo docker pull mysql:5.7 # 指定拉取 MySQL 5.7 版本

也可以使用搜索命令,查找其他的 MySQL 相關(guān)鏡像,其中有標(biāo)識(shí) Stars 數(shù),即受歡迎程度。

$ sudo docker search mysql

運(yùn)行 MySQL

$ sudo docker run -p 3306:3306 \

  --name mysql \

  -v $PWD/conf:/etc/mysql/conf.d \

  -v $PWD/logs:/logs \

  -v $PWD/data:/var/lib/mysql \

  -e MYSQL_ROOT_PASSWORD=your-password \

  -d mysql

命令說明:

  • -p 3306:3306 :將容器的 3306 端口映射到主機(jī)的 3306 端口。
  • -v $PWD/conf:/etc/mysql/conf.d :將主機(jī)當(dāng)前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。
  • -v $PWD/logs:/logs :將主機(jī)當(dāng)前目錄下的 logs 目錄掛載到容器的 /logs。
  • -v $PWD/data:/var/lib/mysql :將主機(jī)當(dāng)前目錄下的data目錄掛載到容器的 /var/lib/mysql 。
  • -e MYSQL_ROOT_PASSWORD=your-password :初始化 root 用戶的密碼,建議使用復(fù)雜度高的密碼。
  • -d mysql : 要部署的鏡像名,如果是5.7版本的話,這里則為mysql:5.7

配置遠(yuǎn)程訪問

遠(yuǎn)程訪問 MySQL 屬于基本配置,但是在配置的時(shí)候要注意安全性問題,否則將存在安全性隱患,尤其是企業(yè)用服務(wù)器更要注重安全性。

并且需要注意服務(wù)器防火墻要開啟 3306 端口,服務(wù)器提供商的安全組中也需要開啟,否則會(huì)無法訪問哦。

要配置遠(yuǎn)程訪問,先要打開 MySQL 的控制終端,使用下面的命令開啟:

$ sudo docker exec -it mysql bash # 進(jìn)入 MySQL 容器

$ mysql -uroot -p # 登錄 MySQL,執(zhí)行后輸入密碼進(jìn)入 MySQL

$ use mysql; # 選擇使用 mysql 數(shù)據(jù)庫

MySQL 8 配置

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
# 創(chuàng)建一個(gè)賬號(hào),用來進(jìn)行遠(yuǎn)程訪問;
# {usernama} 是遠(yuǎn)程訪問登錄的用戶名,不建議用 root;
# {password} 是遠(yuǎn)程訪問的登錄密碼;
# '%'代表的是所有IP,如果可以盡量設(shè)置指定 IP 或 IP 段

GRANT ALL ON *.* TO 'username'@'%';
# 賦予所有權(quán)限給之前創(chuàng)建的賬號(hào)

ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
# 確認(rèn)使用這里的密碼登錄此賬號(hào)

FLUSH PRIVILEGES;
# 刷新權(quán)限

完整命令如下所示:

CREATE USER 'james'@'%' IDENTIFIED BY '123456asd';
# 創(chuàng)建一個(gè)賬號(hào)-james,用來進(jìn)行遠(yuǎn)程訪問;

GRANT ALL ON *.* TO 'james'@'%';
# 賦予所有權(quán)限給之前創(chuàng)建的賬號(hào):james

ALTER USER 'james'@'%' IDENTIFIED WITH mysql_native_password BY '123456asd';
# 確認(rèn)使用密碼{123456asd}登錄此賬號(hào){james}
# 密碼盡量復(fù)雜,安全性更高。

FLUSH PRIVILEGES;
# 刷新權(quán)限

配置完畢后,使用 Navicat 工具或其他工具進(jìn)行連接測(cè)試即可。

MySQL 5.7 配置

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
# {usernama} 是遠(yuǎn)程訪問登錄的用戶名,不建議用 root;
# {password} 是遠(yuǎn)程訪問的登錄密碼;
# '%'代表的是所有IP,如果可以盡量設(shè)置指定 IP 或 IP 段

FLUSH PRIVILEGES;
# 刷新權(quán)限

配置完畢后,使用 Navicat 工具或其他工具進(jìn)行連接測(cè)試即可。

注:如果無法訪問請(qǐng)注意防火墻 3306 端口是否開啟,服務(wù)器提供商的安全組中的端口是否開啟。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:通遼 煙臺(tái) 湘潭 賀州 懷化 湖北 黃山 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker 安裝 MySQL(8和5.7)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    内丘县| 新昌县| 右玉县| 蓝山县| 城口县| 怀集县| 济源市| 龙游县| 宁河县| 西安市| 措美县| 崇义县| 福海县| 柳州市| 嘉义县| 黑龙江省| 巴塘县| 湘潭县| 深泽县| 招远市| 莱阳市| 象州县| 攀枝花市| 平陆县| 玛曲县| 荔浦县| 乌恰县| 独山县| 正宁县| 马公市| 云阳县| 南汇区| 迁西县| 武陟县| 通化县| 五寨县| 贞丰县| 晴隆县| 宜兰市| 塔河县| 淳安县|