四时宝库

程序员的知识宝库

Docker部署MySQL,一遍成功【实操总结】

云端需要处理的

  • 详细说明
    打开云端防火墙接口, 映射3306端口2.服务器需要配置

2.1 建存放数据目录

mkdir -p /home/mysql/mysql_3310/data

2.2 建存放配置文件目录

mkdir -p /home/mysql/mysql_3310/conf

2.3建编排文件目录

mkdir -p /home/mysql/mysql_3310/compose

2.4将数据目录和配置目录提升权限

chmod 777 /home/mysql/mysql_3310/data
chmod 777 /home/mysql/mysql_3310/conf
sudo chown -R 999:999 /home/mysql/mysql_3310/data

2.5 编写mysql配置文件[my.cnf]

cd /home/mysql/mysql_3310/conf && vi my.cnf
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
skip-name-resolve
# 不使用密码
# skip-grant-tables
secure-file-priv=NULL
sql-mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
# 设置FILE权限
!includedir /etc/mysql/conf.d/

2.6 检查是否有虚拟网络,如果没有,需要创建网络

docker network create hj_net

2.7 编写编排文件[compose.yml]

mysql中docker-compose解释

version: '3'
services:
  mysql-db:
    container_name: mysql_3310
    image: mysql:8.0.26
    ports:
      - "3310:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "root"
      MYSQL_ROOT_HOST: "%"
      TZ: Asia/Shanghai
    restart: always
    volumes:
      - "/home/mysql/mysql_3310/data:/var/lib/mysql"
      - "/home/mysql/mysql_3310/conf/my.cnf:/etc/mysql/conf.d/my.cnf"
networks:
  default:
    external:
      name: hj_net

3.编排文件

3.1编排容器

docker-compose up -d

4.可能用到命令

4.1重启服务

sudo systemctl daemon-reload
sudo systemctl restart docker

4.2查看日志

docker-compose logs -f mysql-db

4.3进入容器

docker exec -it mysql_3310 bash

4.4停止服务

docker-compose down

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接