## 一、創建宿主機物理路徑 新建/mydata/mysql/data、log和conf三個文件夾 ```bash mkdir -p /mnt/mysql/log mkdir -p /mnt/mysql/data mkdir -p /mnt/mysql/config ``` 或者 ```bash m ...
一、創建宿主機物理路徑
新建/mydata/mysql/data、log和conf三個文件夾
mkdir -p /mnt/mysql/log
mkdir -p /mnt/mysql/data
mkdir -p /mnt/mysql/config
或者
mkdir /mnt/mysql/{log,data,config}
二、直接執行下麵這個命令,即可創建成功mysql服務
docker run -p 3306:3306 --name mysql --restart=always \
-v /mnt/mysql/log
:/var/log/mysql \
-v /mnt/mysql/data
:/var/lib/mysql \
-v /mnt/mysql/config
:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=admin123 \
-d mysql:5.7
註1:
- -e MYSQL_ROOT_PASSWORD=admin123 其中【admin123】就是預設用戶root的密碼
- -v 是文件掛載,冒號之前是Linux宿主機的物理位置,後面的則是映射docker容器的位置
- -e 是設置密碼
- -d 是後臺使用 mysql:5.7 啟動新的容器
註2:使用掛載文件位置修改mysql的配置
編輯 /mnt/mysql/config 目錄,新建 my.cnf 文件,那麼在 mysql 容器的 /etc/mysql 下即可看到 my.cnf 文件。
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
#character-set-server=utf8
#collection-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
三、開放 3306 埠
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
四、docker常用命令
- 查看日誌
docker logs mysql(容器名稱或者id)
- 容器自動啟動
docker run --restart=always 容器id或名稱
docker update --restart=always 容器id或名稱
- 進入mysql容器
docker exec -it mysql /bin/bash