Docker使用docker compose创建部署 MySQL 5.7 挂载数据信息以及my.cnf 远程连接

10 篇文章 0 订阅

-> Docker及docker compose的安装点这里

创建 docker-compose.yml 文件

version: '3'
services:
  mysql:
    image: mysql:5.7
    container_name: mysql
    ports:
      - 3306:3306
    volumes:
      - ./mysql:/var/lib/mysql
      - ./my.cnf:/etc/mysql/my.cnf
    environment:
      MYSQL_ROOT_PASSWORD: "root"
    restart: always
    privileged: true

参数说明

MYSQL_ROOT_PASSWORD: 数据root密码
/var/lib/mysql: 数据目录
/etc/mysql/my.cnf: my.cnf 配置文件

创建my.cnf

vim ./mycnf

配置可自行调整,但是最后一行一定要加!不然会进不去

[mysql]
#mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 允许最大连接数
max_connections=1000
# 设置mysql服务端默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 缓存大小
sort_buffer_size=256MB

在docker-compose.yml文件目录下运行 docker-compose up -d

docker-compose up -d

docker-compose logs -f 查看日志信息

docker-compose logs -f

在这里插入图片描述
使用工具或命令行远程连接测试一下,我这库多是因为我导入了之前的数据
在这里插入图片描述
部署成功

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Docker中配置MySQL的my.cnf文件,可以按照以下步骤进行: 1. 在Dockerfile中添加以下代码: ``` COPY my.cnf /etc/mysql/my.cnf ``` 其中,my.cnf是你自己编MySQL配置文件。 2. 在Docker Compose文件中添加以下代码: ``` volumes: - ./my.cnf:/etc/mysql/my.cnf ``` 其中,my.cnf是你自己编MySQL配置文件。 3. 在MySQL容器中重启MySQL服务,使配置文件生效。 ``` docker exec -it <mysql_container_name> service mysql restart ``` 其中,<mysql_container_name>是你的MySQL容器名称。 这样,就可以在Docker中配置MySQL的my.cnf文件了。 ### 回答2: Docker是一种应用程序容器化技术,可以将应用程序及其依赖的库打包在一起,以便在不同的环境中进行部署和运行。MySQL是一种流行的关系型数据库,在Docker中配置MySQL需要首先配置my.cnf文件,该文件是MySQL的主配置文件,包含了MySQL服务器的全局选项和不同引擎的选项。 在Docker中配置MySQL的my.cnf文件需要以下步骤: 1. 创建Dockerfile文件。Dockerfile是Docker的构建文件,包含了Docker镜像的构建过程。在Dockerfile中需要指定基础镜像,安装MySQL服务器和其他依赖库等操作。 2. 创建my.cnf文件。在Dockerfile中可以使用COPY指令将本地的my.cnf文件复制到Docker镜像中。my.cnf文件可以配置MySQL服务器的参数,如端口号、字符集、缓存大小等参数。 3. 启动Docker容器。在启动Docker容器时需要映射MySQL服务器的端口号和数据目录。可以使用命令docker run -p 3306:3306 -v /data/mysql:/var/lib/mysql -d mysql启动容器。 配置my.cnf文件需要注意以下几点: 1. 默认情况下,my.cnf文件位于MySQL的安装目录下。在Docker中,可以将my.cnf文件放在容器中的任意位置,但需要在启动容器时指定my.cnf文件的路径。 2. MySQL服务器的参数可以通过my.cnf文件进行配置,每个参数需要一个键值对进行表示,例如port = 3306。 3. my.cnf文件中还可以配置MySQL服务器的日志选项、字符集、缓存大小及其他全局选项。 总之,在Docker中配置MySQL的my.cnf文件需要了解MySQL服务器的各种参数,并确定需要配置哪些参数以及他们的取值,然后将这些参数入my.cnf文件中,最后启动Docker容器时需要将my.cnf文件路径指定正确。 ### 回答3: 在Docker中配置MySQL的my.cnf文件,有助于我们灵活配置MySQL的各项参数和属性,以满足应用的需求和性能要求。下面是在Docker中配置MySQL的my.cnf的一些步骤和注意事项。 首先,在Dockerfile中将my.cnf文件拷贝到容器中。可以将本地的my.cnf文件复制到Docker镜像中,或者通过RUN指令执行Sed命令修改容器中的my.cnf。 其次,在my.cnf文件中配置MySQL的参数和属性。具体的参数和属性的配置需根据实际情况而定。如: - 配置字符集和排序规则:[client]和[mysqld]分别配置character-set-server和collation-server参数。 - 配置最大连接数:[mysqld]中配置max_connections参数。 - 配置缓存和缓存大小:如配置innodb_buffer_pool_size参数。 - 配置日志文件:如配置log-bin参数。 - 配置锁和事务:如配置innodb_lock_wait_timeout参数。 注意,将my.cnf文件放到容器中,有时会被默认的MySQL配置文件覆盖掉。或者是文件权限的问题,使得MySQL无法读取my.cnf。在此时需要特别注意,并检查容器中的MySQL日志文件来确定问题的所在。 在MySQL运行时,可以通过查看系统变量和查询优化器来确认my.cnf文件是否被正确的配置。如使用SHOW VARIABLES和EXPLAIN进行确认,以确保MySQL的参数和属性在应用中真正生效。 总之,配置MySQL的my.cnf是保证应用程序性能的重要一环。Docker提供了灵活的配置方式,可以让我们按照需求精细调优,从而达到更好的应用体验和性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值