Docker最全教程之MySQL容器化 (二十四)

Docker最全教程之MySQL容器化 (二十四)
原文:Docker最全教程之MySQL容器化 (二十四)

前言??? ? ? ? ? ? ??

MySQL是目前最流行的開源的關系型數據庫,MySQL的容器化之前有朋友投稿并且寫過此塊,本篇僅從筆者角度進行總結和編寫。


?

目錄??

  • 鏡像說明?

  • 運行MySQL容器鏡像?

1.運行MySQL容器?

2.修改“root”賬戶的認證模式和密碼?

  • 管理MySQL?

1. MySQL命令行工具?

2. Visual Studio Code的MySQL插件?

3. phpmyadmin?


?

MySQL是目前最流行的開源的關系型數據庫,因其高性能、可靠性和易用性而廣受開發者的歡迎,尤其是開放源碼這一特點,一般中小型網站的開發都會優先選擇MySQL作為網站數據庫。

與其他的大型數據庫例如Oracle、DB2、SQL Server等相比,MySQL雖然有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于 MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。


?

鏡像說明

MySQL的官方鏡像地址為:https://hub.docker.com/_/mysql

?


運行MySQL容器鏡像

1.運行MySQL容器

接下來,我們使用PowerShell來運行MySQL鏡像。腳本如下所示:

docker run --name mysql `-e MYSQL_ROOT_PASSWORD=123456 `-p 3306:3306 `-d mysql

相關參數說明如下所示:

表7-2

參數

描述

-e MYSQL_ROOT_PASSWORD=123456

此變量是必須的,用于指定MySQL超級管理員帳戶(root)的密碼。

-p 3306:3306

建立容器端口和主機端口的映射。MySQL默認端口為3306。

-d

在后臺運行容器并打印容器ID。

--name mysql

為容器指定一個自定義名稱,而不是使用隨機生成的名稱。?如果運行多個容器,則無法重復使用相同的名稱。

mysql

MySQL容器鏡像。

執行界面如圖所示:

?

同樣的,我們可以參考前面的章節使用數據卷或者主機目錄來完成MySQL的數據持久化,參考命令參數如下:

  • 使用數據卷“-v my-volume:/var/lib/mysql”
  • 使用主機目錄“-v d:\temp\data:/var/lib/mysql”

2.修改“root”賬戶的認證模式和密碼

MySQL容器已經運行了,如果我們滿懷欣喜地使用Visual Studio Code的MySQL擴展插件去連接時,就會碰到這么一個錯誤:

?

究其原因,其實就是MySQL新版本的“caching_sha2_password”授權認證模式的問題,我們將其改回“mysql_native_password”授權模式即可。

主要有以下幾步操作:

1)??????? 進入MySQL容器

docker exec -it mysql /bin/bash

?

2)??????? 使用MySQL命令行工具連接MySQL

mysql -h localhost -u root -p

需要輸入密碼:

?

3)??????? 修改“root”賬戶的認證模式

連接成功后,接下來我們就可以使用SQL語句來修改“root”賬戶的認證模式了:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

注意,最后的字符串“123456”為“root”賬戶的密碼。

?

4)??????? 驗證外部連接

同樣的,我們使用Visual Studio Code的MySQL擴展插件進行驗證,正常情況如下所示:

?


?

管理MySQL

這里我們主要簡單的介紹以下MySQL命令行工具和Visual Studio Code的MySQL擴展插件。

1. MySQL命令行工具

進入方式在前面的章節我們已經多次講述了,這里就不贅述了。使用MySQL命令行工具,我們可以非常方便的進行管理數據庫。比如:

  • 查看數據庫

?

  • 創建數據庫

?

  • 執行其他查詢

?

2. Visual Studio Code的MySQL插件

由于大部分MySQL UI管理工具都要錢,這里就首要推薦使用萬能的Visual Studio Code的MySQL的插件來進行管理。

  • MySQL插件

使用起來非常簡單:

?

  • SQLTools

支持多種數據庫(MySQL、MSSQL、PostgreSQL、Oracle、SQLite、SAP HANA),支持書簽、查詢語句智能提示和自動完成以及將數據導出CSV或JSON:

3. phpmyadmin

phpMyAdmin 是一個B/S架構的MySQL的數據庫管理工具,讓管理者可用Web接口管理MySQL數據庫。我們可以使用容器來運行phpmyadmin,官方鏡像地址:https://hub.docker.com/r/phpmyadmin/phpmyadmin

執行命令如下:

docker run --name myadmin `--link mysql:db `-e MYSQL_ROOT_PASSWORD=123456 `-p 8080:80 `-d phpmyadmin/phpmyadmin

如上述命令所示,我們運行了一個phpmyadmin容器實例,其中MySQL的“root”賬戶密碼為“123456”。運行成功后,就可以訪問“http://localhost:8080/”以進入以下管理界面(登錄賬戶和密碼分別為“root”、“123456”):

管理功能很強大,非常值得推薦。

?

往期內容鏈接

Docker最全教程——從理論到實戰(一)

Docker最全教程——從理論到實戰(二)

Docker最全教程——從理論到實戰(三)

Docker最全教程——從理論到實戰(四)

Docker最全教程——從理論到實戰(五)

Docker最全教程——從理論到實戰(六)

Docker最全教程——從理論到實戰(七)

Docker最全教程——從理論到實戰(八)

Docker最全教程之使用Tencent Hub來完成CI(九)

Docker最全教程——數據庫容器化(十)

Docker最全教程——數據庫容器化之持久保存數據(十一)

Docker最全教程——MongoDB容器化(十二)

Docker最全教程——Redis容器化以及排行榜實戰(十三)

Docker最全教程之Ubuntu下安裝Docker(十四)

Docker最全教程之樹莓派和Docker(十五)

Docker最全教程之使用TeamCity來完成內部CI、CD流程(十六)

Docker最全教程之使用Docker搭建Java開發環境(十七)

Docker最全教程之Go實戰,墻裂推薦(十八)

Docker最全教程之使用.NET Core推送釘釘消息(十九)

Docker最全教程之使用 Visual Studio Code玩轉Docker(二十)

Docker最全教程之Python爬網實戰(二十一)

Docker最全教程之使用PHP搭建個人博客站點(二十二)

Docker最全教程之使用Node.js搭建團隊技術文檔站(二十三)

posted on 2019-06-11 12:51 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lonelyxmas/p/11003006.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448745.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448745.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CODING 受邀參加《騰訊全球數字生態大會》

近日,騰訊全年最重要的一場活動——《騰訊全球數字生態大會》于昆明滇池國際會展中心正式舉辦。此次全球數字生態大會是騰訊戰略升級后,整合互聯網數字經濟峰會、云未來峰會、騰訊全球合作伙伴三大行業大會,全新升級打造的行業創新大會。大會…

解決 dockerfile 構建鏡像報錯: [WARNING]: Empty continuation lines will become errors in a future release.

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 只是想自己寫個 dockerfile 用 docker 來部署 rocketmq 的服務。 dockerfile 中要運行多行命令 于是我寫成 RUN 命令a \&&…

第二章:08運算符[比較運算符]

①比較運算符②實例/* 運算符之三&#xff1a;比較運算符 ! > < > < instanceof 結論&#xff1a; 1.比較運算符的結果是boolean類型 2.區分 和 */ class CompareTest { public static void main(String[] args) { int i 10; int j 20; System.out.pr…

Apache版本兼容性問題

Apache 版本2.2.31 版本對于谷歌瀏覽器不兼容、IE8版本可以正常使用 當使用了Apache 高版本的話就解決了 出現以下現象 轉載于:https://www.cnblogs.com/tzhyy/p/10931084.html

王淮經驗談:我的碼農原則

摘要&#xff1a;王淮是Facebook第二位中國籍工程師&#xff0c;也是第一位中國籍研發經理&#xff0c;他一手開創了Facebook的支付安全和客服工具領域。2011年他離開Facebook&#xff0c;回國成為天使投資人。本文是王淮以前寫代碼和做代碼審查時候的一些原則&#xff0c;供大…

centos uwsgi自動調用python2環境,指定uwsgi調用版本

將自己開發好的django項目用uwsgi部署到Linux服務器、當運行uwsgi時出現了uwsgi選擇python版本的問題。因為本機器是在原來的機器上安裝了python3環境和pip3&#xff0c; 使用命令安裝uwsgi: pip3 install uwsgi 一點問題也沒有&#xff0c;使用uwsgi部署項目時 uwsgi --http :…

docker build Dockfile ---- RUN 中 cd 切換路徑失敗 的原因、解決

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 我只是想 直接切換到對應目錄下 執行后續命令。 ?????寫法如下&#xff1a; FROM openjdk:8-jre-alpineMAINTAINER JiangYuRU…

米爾電子Zynq UltraScale MPSoC核心板資料介紹

米爾Zynq UltraScale MPSoC核心板&#xff08;MYC-CZU3EG&#xff09;是采用Xilinx新一代Zynq處理器。該核心板是業界最小尺寸Zynq UltraScale 核心板&#xff0c;采用16納米制程&#xff0c;相比Znyq7000系列每瓦性能提升5倍&#xff0c;且單芯片融合4核心Cortex-A53&#xff…

幸福秘訣 男女必須要看哦

女人說&#xff1a;這一輩子最大的成功是什么?我認為是找到一個真正疼自己的老公,有了老公的支持才可以把事業做得有聲有色,有一個幸福的家和一個可愛的寶寶。 男人說&#xff1a;我的成功是在我的人生之中&#xff0c;是妻子和我形影相隨&#xff0c;朝夕相伴。她是我身邊…

解決:If the number of processors is expected to increase from one, then you should configure the numbe

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 按官方說明用 docker 部署 rocketmq ,啟動 broker 報錯&#xff1a; OpenJDK 64-Bit Server VM warning: If the number of processo…

JAVA-緩存機制

本地緩存 繼承AbstractBaseLocalCache&#xff0c;并實現相應的抽象方法&#xff1b;適用于單實例項目或不會經常變化的數據&#xff1b;代碼示例&#xff1a;/*** 倉庫信息緩存類*/ Service public class WarehouseCache extends AbstractBaseLocalCache<Long, Warehouse&g…

騰訊QQ團隊開源分布式后臺毫秒服務引擎全解析:引擎架構、RPC、灰度……

騰訊QQ團隊將于12月4日開源一個服務開發運營框架&#xff0c;叫做毫秒服務引擎&#xff08;Mass Service Engine in Cluster&#xff0c;MSEC&#xff09;&#xff0c;它集RPC、名字發現服務、負載均衡、業務監控、灰度發布、容量管理、日志管理、Key-Value存儲于一體&#xff…

古代隱士如何忙衣食

三歲娃兒都曉得&#xff0c;吃飯穿衣是維持生命的基本條件&#xff0c;想瀟灑地“舊山歸隱浪搖青&#xff0c;綠鬢山童一帙經”&#xff0c;就得準備足夠的柴米油鹽。 所謂隱士&#xff0c;須得強調是“士”&#xff0c;即讀書人。手無縛雞之力&#xff0c;不仕就無俸祿&…

一個秘密

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 這是一個秘密&#xff0c; 一個不想說出來&#xff0c;卻真實的秘密&#xff1a; --- --- 本來我不想說&#xff0c; 可是最近的一切…

程序員如何在大公司做管理

本文被記錄的最大初衷在于從創業公司的CEO轉變成阿里巴巴的一名開發專家&#xff0c;打心底觸動了心靈最深處的一次學習經歷&#xff0c;無論成長、挫折、困難、收獲都烙在心里。 寫文章的思路&#xff1a; 背景&#xff08;認清現狀&#xff09;管理&#xff08;闡述自己的理解…

WebGL之物體選擇

原文地址: WebGL之物體選擇 使用WebGL將圖形繪制到畫布后&#xff0c;如何與外部進行交互&#xff1f;這其中最關鍵的就是如何實現物體的選擇。比如鼠標點擊后判斷是否選中了某個圖形或圖形的某個部分。 本節實現的效果: WebGL選中物體 如何實現選中物體 顏色區分法 《WebGL編程…

中國歷史上影響最大的10首詩

中國是詩歌的國度&#xff0c;有許多詩都有很大的影響。這里所謂影響“最大”(而不是“最好”)的十首詩&#xff0c;除了要寫得好之外&#xff0c;還必須通俗易懂、易記。 第一首&#xff1a;李白的《靜夜思》 床前明月光&#xff0c;疑是地上霜。 舉頭望明月&#xff0c;低頭…

XML建模

建模分兩步&#xff1a;1、以面向對象的編程思想&#xff0c;描述xml資源文件。 2、將xml文件中內容封裝進model實體對象。 導入文件&#xff1a;config.xml <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE config[<!ELEMENT config (acti…

Docker 方式安裝部署 rocketMQ 、部署 圖形化界面控制臺、rocketMQ 控制臺

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 直接上官網&#xff0c;找到工程&#xff0c;clone 到本地&#xff0c;地址&#xff1a;https://github.com/apache/rocketmq-extern…

迭代器(iterator)

Date: 2019-05-23 Author: Sun 為何要引入迭代器&#xff1f; ? 通過列表生成式&#xff0c;我們可以直接創建一個列表&#xff0c;但是&#xff0c;受到內存限制&#xff0c;列表容量肯定是有限的&#xff0c;而且創建一個包含100萬個元素的列表&#xff0c;不僅占用很大的存…