基於docker的mysql安裝及配置

weixin_34075551發表於2017-05-08

mysqldocker倉庫位於 https://hub.docker.com/_/mysql/
該倉庫提供了 MySQL 各個版本的映象,包括 5.6 系列、5.7 系列等。

基本使用方法

Start a mysql server instance

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

Connect to MySQL from an application in another Docker container

$ docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql

Connect to MySQL from the MySQL command line client

通過其他命令列連線mysql

$ docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

通過一個臨時docker映象來連線

$ docker run -it --rm mysql mysql -hsome.mysql.host -usome-mysql-user -p

將mysql檔案儲存到宿主機

通常我們也應該這樣做,將業務資料儲存到宿主機,避免容器刪除後丟失資料,而且也可以做有效備份

Where to Store Data

通過-v引數指定宿主機一個目錄到mysql容器目錄的對映。mysql容器目錄為/var/lib/mysql

$ docker run --name some-mysql -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

常用啟動方法

可以參考我的啟動命令來建立mysql容器

$ docker run --name my-mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

說明

  • --name: 指定容器名稱
  • -p: 指定mysql服務容器埠到宿主機埠對映。mysql容器預設埠是3306,通過-p可以將其埠對映到宿主機3306埠,這樣我們通過客戶端就可以訪問3306埠連線mysql了。
  • -v: 指定mysql容器中目錄到宿主機目錄的對映

相關文章