suse docker 安装mysql_Docker(三):Docker安装MySQL
查找MySQL鏡像
鏡像倉庫
https://hub.docker.com/
下拉鏡像
docker pull mysql:5.7
查看鏡像
docker images
創建MySQL容器
命令式啟動MySQL容器
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
參數說明
-p 3306:3306: 將容器的3306端口映射到宿主機的3306端口
--name mysql:將容器名字設置為mysql
-v /mydata/mysql/log:/var/log/mysql:將日志文件夾掛載到宿主機
-v /mydata/mysql/data:/var/lib/mysql:將數據文件夾掛載到宿主機
-v /mydata/mysql/conf:/etc/mysql:將配置文件夾掛載到宿主機
-e MYSQL_ROOT_PASSWORD=root:初始化root用戶的密碼
-d mysql:5.7:后臺運行容器,并返回容器ID
docker-compose啟動
version: '2'
services:
mysql:
container_name: mysql
image: mysql:5.7
ports:
- "3306:3306"
volumes:
- /mydata/mysql/log:/var/log/mysql
- /mydata/mysql/data:/var/lib/mysql
- /mydata/mysql/conf:/etc/mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- COMPOSE_PROJECT_NAME=mysql-server
使用docker-compose方式啟動可以很方便的查看容器的啟動參數,命令啟動方式可能會忘記啟動參數。
查看容器
docker ps -a
進入容器
docker exec -it mysql /bin/bash
容器中文件
root@3873b46ee9b0:/# ls
bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
# 退出容器
root@3873b46ee9b0:/# exit;
就是一個linux系統。
配置MySQL
進入掛載數據卷
[root@k8s-master01 ~]# cd /mydata/mysql/
[root@k8s-master01 mysql]# ls
conf data log
[root@k8s-master01 mysql]# cd conf/
[root@k8s-master01 conf]# pwd
/mydata/mysql/conf
創建MySQL配置文件
cat > 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
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
EOF
注意:解決mysql連接慢問題,skip-name-resolve:跳過域名解析
重啟MySQL容器
docker restart mysql
進入容器確認配置
[root@k8s-master01 conf]# docker exec -it mysql /bin/bash
root@3873b46ee9b0:/# cd /etc/mysql/
root@3873b46ee9b0:/etc/mysql# ls
my.cnf
root@3873b46ee9b0:/etc/mysql# cat 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
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
測試連接
Docker啟動容器自啟
docker update mysql --restart=always
總結
以上是生活随笔為你收集整理的suse docker 安装mysql_Docker(三):Docker安装MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql移植海思_minigui在海思
- 下一篇: mysql和mariadb可以同时使用吗