国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mac上使用Docker如何快速啟動MySQL測試

2019-11-02 16:14:22
字體:
來源:轉載
供稿:網友

本文主要討論使用Docker快速啟動 MySQL 測試的方法,包括Mac環境。一起看看吧!

近來業界有很多對Docker的討論,其生態系統發展得很快,然而,從簡單的“入門”或“引導”類的文章中能容易地找到成熟的技術,但Docker不然。我在Mac上試玩過Docker,但Mac絕對是Docker界的二等公民。當我在Giuseppe的博客上看到關于在Mac上使用新Docker beta《Docker for Mac beta and MySQL》一文時,決定自己來嘗試下。這些步驟適用于Mac(Windows也可能),亦能適配Linux環境(GA版本,Docker 1.11.1)。

首先,在Mac上注冊新的Docker測試版程序,接著從Docker中獲得下載代碼。此過程我耗時一天,但應該不久就會發布完整版。安裝完成后,我需要為常見的MySQL版本設置一些Docker容器,沙箱也就有了。方法如下:

jayj@~ [510]$ docker network create test90005b3ffa9fef1f817ee4965e794a567404c9a8d5bf07320514e7d848d59ff9jayj@~ [511]$ docker run --name=mysql57 --net=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql/mysql-server:5.76c80fa89610dbd5418ba474ad7d5451cd061f80a8a72ff2e718341827a08144bjayj@~ [512]$ docker run -it --rm --net=test -e MYSQL_HOST=mysql57 mysql/shell initCreating a Classic Session to root@mysql57:3306Enter password:No default schema selected.enableXProtocol: Installing plugin mysqlx...enableXProtocol: done

一些經驗總結:

我為我的容器創建了一個名為“測試”的網絡以共享,本質是容器之間一個專用的私有網絡。我喜歡這個是因為在相關的端口是監聽多個容器,也不必設置主機操作系統的端口。

我將Oracle的官方MySQL Docker容器啟動一個MySQL 5.7的鏡像,在綁定到該測試網絡。

我使用了MySQL /shell鏡像(來自Oracle)來初始化MySQL 5.7服務器上的mysqlx插件。需要注意的是,我并沒有輸入密碼,因為我沒有創建一個服務器(不安全,但它是一個沙箱)。

這個里面的Shell使用了運行后刪除的臨時容器,所以并不會破壞Docker ps-a輸出。

所以,現在我希望能夠使用標準的MySQL命令行或新的MySQL shell來訪問這個容器。讓它看起來很干凈,因此我添加了一些bash別名:

alias mysqlsh='docker run -it --rm --net=test mysql/shell'alias mysql='docker run -it --rm -e MYSQL_ALLOW_EMPTY_PASSWORD=yes --net=test --entrypoint="mysql" mysql/mysql-server:5.7'

這些以后,我可以直接調用他們并通過正常的命令行選項來連接我的MySQL 5.7鏡像,就像使用的是一個原生的MySQL CLI binary。從MySQL 5.7鏡像中使用MySQL CLI:

jayj@~ [524]$ mysql -h mysql57Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 4Server version: 5.7.12 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.mysql> show schemas;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.01 sec)

使用MySQL shell:

jayj@~ [527]$ mysqlsh -h mysql57 -u root --session-type=nodeCreating a Node Session to root@mysql57:33060Enter password:No default schema selected.Welcome to MySQL Shell 1.0.3 Development PreviewCopyright (c) 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help', 'h' or '?' for help.Currently in JavaScript mode. Use sql to switch to SQL mode and execute queries.mysql-js> sqlSwitching to SQL mode... Commands end with ;mysql-sql> show schemas;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)mysql-sql>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 峨山| 彭州市| 筠连县| 陆川县| 东宁县| 富顺县| 常山县| 伊金霍洛旗| 赣榆县| 滨海县| 清水县| 织金县| 厦门市| 鄄城县| 揭西县| 宁蒗| 西青区| 枣庄市| 永嘉县| 北票市| 卢氏县| 乡宁县| 弥渡县| 兖州市| 霞浦县| 和田市| 滕州市| 清新县| 内丘县| 长治市| 肥东县| 兴城市| 九台市| 容城县| 子洲县| 皮山县| 台湾省| 丹巴县| 甘肃省| 瓮安县| 万荣县|