前言
MySQL是目前最流行的開源的關係型資料庫,MySQL的容器化之前有朋友投稿並且寫過此塊,本篇僅從筆者角度進行總結和編寫。
1.運行MySQL容器
2.修改「root」帳戶的認證模式和密碼
1. MySQL命令行工具
2. Visual Studio Code的MySQL插件
3. phpmyadmin
MySQL是目前最流行的開源的關係型資料庫,因其高性能、可靠性和易用性而廣受開發者的歡迎,尤其是開放源碼這一特點,一般中小型網站的開發都會優先選擇MySQL作為網站資料庫。
與其他的大型資料庫例如Oracle、DB2、SQL Server等相比,MySQL雖然有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由於 MySQL是開放源碼軟體,因此可以大大降低總體擁有成本。
MySQL的官方鏡像地址為:
https://hub.docker.com/_/mysql
接下來,我們使用PowerShell來運行MySQL鏡像。腳本如下所示:
docker run --name mysql `-e MYSQL_ROOT_PASSWORD=123456 `-p 3306:3306 `-d mysql相關參數說明如下所示:
參數
描述
-e MYSQL_ROOT_PASSWORD=123456
此變量是必須的,用於指定MySQL超級管理員帳戶(root)的密碼。
-p 3306:3306
建立容器埠和主機埠的映射。MySQL默認埠為3306。
-d
在後臺運行容器並列印容器ID。
--name mysql
為容器指定一個自定義名稱,而不是使用隨機生成的名稱。 如果運行多個容器,則無法重複使用相同的名稱。
mysql
MySQL容器鏡像。
執行界面如圖所示:
同樣的,我們可以參考前面的章節使用數據卷或者主機目錄來完成MySQL的數據持久化,參考命令參數如下:
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命令行工具和Visual Studio Code的MySQL擴展插件。
進入方式在前面的章節我們已經多次講述了,這裡就不贅述了。使用MySQL命令行工具,我們可以非常方便的進行管理資料庫。比如:
2. Visual Studio Code的MySQL插件
由於大部分MySQL UI管理工具都要錢,這裡就首要推薦使用萬能的Visual Studio Code的MySQL的插件來進行管理。
使用起來非常簡單:
支持多種資料庫(MySQL、MSSQL、PostgreSQL、Oracle、SQLite、SAP HANA),支持書籤、查詢語句智能提示和自動完成以及將數據導出CSV或JSON:
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」):