Docker最全教程之MySQL容器化 (二十四) Docker最全教程——從理論到實戰(一) Docker最全教程——從理論到實戰(二) Docker最全教程——從理論到實戰(三) Docker最全

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

前言                

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


 

目錄  

  • 鏡像說明 html

  • 運行MySQL容器鏡像 
    mysql

1.運行MySQL容器 sql

2.修改「root」帳戶的認證模式和密碼 docker

  • 管理MySQL 數據庫

1. MySQL命令行工具 bash

2. Visual Studio Code的MySQL插件 架構

3. phpmyadmin 工具


 

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

與其餘的大型數據庫例如Oracle、DB二、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最全教程——從理論到實戰(八)

相關文章
相關標籤/搜索