1. 程式人生 > >docker和docker-compose二種方式安裝mysql8.0

docker和docker-compose二種方式安裝mysql8.0

Docker方式安裝

在命令列下執行

docker run -d -p 3306:3306 
--restart always 
--privileged=true
--name mysql
-e MYSQL_USER="test" 
-e MYSQL_PASSWORD="test" 
-e MYSQL_ROOT_PASSWORD="root"
-v /data/docker/mysql/data/conf:/etc/my.cnf 
-v /data/docker/mysql/data/db:/var/lib/mysql 
mysql
--default-authentication-plugin=mysql_native_password

引數說明

 –restart always  開機啟動
 -e MYSQL_USER=”test”  新增使用者test
 -e MYSQL_PASSWORD=”test”  設定test的密碼為test
 -e MYSQL_ROOT_PASSWORD=”root” 設定root的密碼為test
 –privileged=true  提升容器內許可權(如果沒有新增--privileged=true引數,容器建立後可能不能正常啟動)
 -v /data/docker/mysql/data/conf:/etc/my.cnf  對映配置檔案
 -v /data/docker/mysql/data/db:/var/lib/mysql  對映資料目錄
 --default-authentication-plugin=mysql_native_password  更改預設的身份認證外掛

docker-compose方式安裝

建立 docker-compose.yml檔案

version: '3'
services:
  db:
    #構建mysql映象
    image: mysql
    container_name: mysql # 容器名
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root #root管理員使用者密碼
      MYSQL_USER: test   #建立test使用者
      MYSQL_PASSWORD: test  #設定test使用者的密碼
    ports:
    - '3306:3306'  #host物理直接對映埠為6606
    volumes:
    #mysql資料庫掛載到host物理機目錄
    - "/data/docker/mysql/data/db:/var/lib/mysql"
    #容器的配置目錄掛載到host物理機目錄
    - "/data/docker/mysql/data/conf:/etc/mysql/conf.d"

在 docker-compose.yml檔案下的目錄下,執行下面命令

docker