前言
记录工作中的点点滴滴~
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
扫描二维码关注公众号,回复: 12640777 查看本文章通过
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;
回车后输入连接密码即可导入数据了