Docker配置MySQL的最大连接数及导出/导入数据库操作

前言

记录工作中的点点滴滴~

Docker配置MySQL的最大连接数

详细的过程:

  • 我们使用docker pull了一个MySQL的镜像,通过镜像构建了一个MySQL的容器。

  • 容器构建成功并启动后我们通过命令docker exec -it mysql /bin/bash进入到容器里面。

  • 通过命令mysql -u用户名 -p密码连接MySQL

  • 通过命令show variables like '%max_connections%';查看MySQL的默认的最大连接数。默认情况下MySQL的最大连接数max_connections = 151

  • 修改MySQL的最大连接数

    • 方式一:通过命令set global max_connections=最大连接数;来设置MySQL的最大连接数。这样设置在容器重启后会失效!

    • 方式二:通过修改配置文件来设置MySQL的最大连接数。这种方式在重启容器后不回失效

      • Linux-CentOS7版本的MySQL

        通过vi/vim命令修改/etc/my.cnf文件,在文件MySQL配置文件的[mysqld]分段下添加/修改max_connections=最大连接数

      • Linux-Ubuntu版本的MySQL

        通过vi/vim命令修改修改/ect/mysql/mysql.conf.d/mysqld.cnf文件,在文件MySQL配置文件的[mysqld]分段下添加/修改max_connections=最大连接数

      • 未指定的MySQL版本

        通过vi/vim命令修改修改/etc/mysql/conf.d/mysql.cnf 文件,在文件MySQL配置文件的[mysqld]分段下添加/修改max_connections=最大连接数

      • 配置完成后保存修改,重启容器;进入容器连接登录MySQL查看链接数是否已被修改。

扩展(vi/vim编辑文件时提示命令不存在)

在容器中通过vi/vim命令修改文件的时候会提示报错,没有vi/vim这个命令。此时我们可以通过以下命令来安装一下vim

docker镜像内安装vim步骤

  • 更新apt-get指令

    apt-get update
    
  • 安装yum命令

    apt-get install vim
    
  • 添加ls命令

    vim ~/.bashrc
    # 在最后一行添加
    alias ll='ls $LS_OPTIONS -l'
    
  • 刷新配置文件使之生效

    source ~/.bashrc
    

Docker导出容器中MySQL中的数据库

详细步骤

确保对应的MySQL容器已经被启动后!

  • 我们先通过命令docker exec -it mysql容器名称 /bin/bash进入到容器里面

    例如:

    # 进入MySQL容器
    docker exec -it mysql /bin/bash
    
  • 通过命令导出数据库mysqldump -uroot -p --port=3306 --databases 数据库名称 > sql文件名称.sql。执行命令输入连接密码后进行导出。sql文件将会被导出在容器的根目录下。

    例如:

    # 将test数据库中的内容导出到test.sql文件中
    mysqldump -uroot -p --port=3306 --databases test  > test.sql
    
  • 通过命令exit退出容器

  • 通过命令docker cp mysql容器ID:/刚刚导出的sql文件名称.sql 宿主机的文件夹路径 将sql文件拷贝到宿主机上的某个目录

    例如:

    # 将虚拟机容器中的test.sql文件拷贝到宿主机的/Users/jiangnan/Desktop/db目录下
    docker cp 53bbb86aadc9:/test.sql /Users/jiangnan/Desktop/db
    
  • 到这里导出的步骤就完成了,回到宿主机中查看目录中是否有对应的sql文件

Docker向MySQL容器导入数据库

详细步骤

  • 首先我们要将宿主机上的sql文件拷贝到虚拟机容器中

    例如:现在我的sql文件放在/Users/jiangnan/Desktop/db/db.sql目录下,通过如下命令将sql文件从宿主机上拷贝到虚拟机容器中

    # 命令
    docker cp sql文件所在的路径 mysql容器ID:/
    # 例子
    docker cp /Users/jiangnan/Desktop/db/db.sql 53bbb86aadc9:/
    
  • sql文件拷贝到虚拟机容器上后执行如下命令进入容器中

    # 命令
    docker exec -it mysql容器名称 /bin/bash
    # 例子
    docker exec -it mysql /bin/bash
    
  • 向数据库中导入数据

    # 命令
    mysql -u用户名 -p 数据库名称 < sql文件名称
    # 例子
    mysql -uroot -p test < test.sql;
    
  • 回车后输入连接密码即可导入数据了

猜你喜欢

转载自blog.csdn.net/ScholarTang/article/details/113245683