Docker安裝MySQL

這里記錄一下使用Docker-compose安裝MySQL的筆記

1、創(chuàng)建Dockerfile

首先,創(chuàng)建目錄mysql,用于存放后面的相關(guān)東西。

root@Docker:~$ mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf

data目錄將映射為mysql容器配置的數(shù)據(jù)文件存放路徑

logs目錄將映射為mysql容器的日志目錄

conf目錄里的配置文件將映射為mysql容器的配置文件

進入創(chuàng)建的mysql目錄,創(chuàng)建Dockerfile

image
version: '3.1'
services:
  mysql:
    restart: always
    image: mysql:5.7.22
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 12345678
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - mysql-data:/var/lib/mysql

volumes:
  mysql-data:

2. 啟動容器

默認(rèn)情況,docker-compose up啟動的容器都在前臺,控制臺將會同時打印所有容器的輸出信息,可以很方便進行調(diào)試。當(dāng)通過 Ctrl-C 停止命令時,所有容器將會停止。如果使用docker-compose up -d,將會在后臺啟動并運行所有的容器。一般推薦生產(chǎn)環(huán)境下使用該選項。

3.進入容器

首先查看容器狀態(tài),如果啟動成功了,進入容器 docker exec -it mysql /bin/bash

登錄MySQL,mysql -u root -p

image

4.修改遠程訪問權(quán)限


use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '12345678' WITH GRANT OPTION;

FLUSH PRIVILEGES;

這里的12345678為你給新增權(quán)限用戶設(shè)置的密碼,%代表所有主機,也可以具體到你的主機ip地址

②flush privileges; 這一步一定要做,不然無法成功! 這句表示從mysql數(shù)據(jù)庫的grant表中重新加載權(quán)限數(shù)據(jù) 因為MySQL把權(quán)限都放在了cache中,所以在做完更改后需要重新加載。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容