四时宝库

程序员的知识宝库

docker-compose安装mysql5.7(docker-compose安装金仓数据库)

原文摘自: docker-compose 安装 mysql:5.7.31 - HaimaBlog - 博客园

新建一个启动目录

mkdir /root/docker-tools/mysql
cd /root/docker-tools/mysql

新建文件docker-compose.yml

version: '2.0'
services:
  mysql:
    container_name: mysql57
    image: mysql:5.7.31
    restart: always
    ports:
      - 33006:3306
    privileged: true
    volumes:
      - $PWD/mysql57/log:/var/log/mysql 
      - $PWD/mysql57/conf/my.cnf:/etc/mysql/my.cnf
      - $PWD/mysql57/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "root"
      MYSQL_USER: 'test'
      MYSQL_PASS: 'test'
    command: [
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_general_ci',
        '--max_connections=3000'
    ]
    networks:
      - myweb

networks:

  myweb:
    driver: bridge

新建脚本文件

#!/bin/bash
mkdir -p $PWD/mysql57/{conf,data,log}  #创建本地文件夹


#新建配置文件
tee $PWD/mysql57/conf/my.cnf<<-'EOF'
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
lower_case_table_names=1 #实现mysql不区分大小(开发需求,建议开启)
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
default-time_zone = '+8:00'

# 更改字符集 如果想Mysql在后续的操作中文不出现乱码,则需要修改配置文件内容
symbolic-links=0
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

EOF

初始化目录和配置文件

[root@centos7 mysql]# chmod +x init-mysql.sh docker-compose.yml  #加执行权限
[root@centos7 mysql]# ./init-mysql.sh
[root@centos7 mysql]# tree ./  #查看目结构
./
├── docker-compose.yml
├── init-mysql.sh
└── mysql57
    ├── conf
    │   └── my.cnf
    ├── data
    └── log
  • PS: 执行./init-mysql.sh可能会报错: "/bin/bash^M: 坏的解释器: 没有那个文件或目录"


  • 解决方法
原因:
在Linux中有时候我们将在Windows下编写的脚本拷贝到Linux环境中运行时会出现运行不了的情况.
主要还是Windows的换行符为\r\n,而Linux环境中的换行符号为\n.

解决办法:
使用文本编辑工具将脚本文件所有的\r\n替换成\n既可.

方式二:
在执行脚本时,弹出错误提示:

 没有那个文件或目录
 这是由于脚本文件在保存时使用了DOS文件格式造成的,可以用vim打开文件,然后执行下列操作:

:set ff=unix
:wq
即可

启动服务

docker-compose up -d

其他操作

docker ps -a #查看启动的服务
docker-compose up -d #后台启动服务
docker-compose -h #帮助命令
docker-compose down #停止并删除服务
docker-compose restart #重启服务
docker-compose stop #停止服务
docker-compose start #停止服务
docker-compose logs #停止日志

发表评论:

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