Docker19.03.5安装Mysql5.7.28,并且挂载数据卷和配置

本文详细介绍了如何使用Docker启动MongoDB和MySQL数据库,包括启动命令、用户创建、权限配置及数据库最大连接数调整等内容。

MongoDB的插曲

启动MongoDB的dokcer命令

docker run -d -p 27017:27017 --restart always --privileged=true -v /usr/local/dockermongodb/configdb:/data/configdb -v /usr/local/dockermongodb/db:/data/db  --name psymongodbs mongo --auth

上面的启动命令是带有权限的启动,启动后登陆不了,下面的命令是创建用户,并且赋值的

docker exec -it 容器名 mongo admin
db.createUser({ user: 'psy', pwd: 'psy123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

 然后直接登陆即可。参考简书文章

https://www.jianshu.com/p/2181b2e27021

启动Mysql5.7.28的命令

docker run --name newmysql5.7.28 --restart always --privileged=true -p 4306:3306 -v /usr/local/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_USER="psy" -e MYSQL_PASSWORD="psy123456" -e MYSQL_ROOT_PASSWORD="psy123456" -d mysql:5.7.28

1:   安装的环境:centos7.5  docker版本19.03.5   

 拉取镜像

docker pull mysql:5.7.28 

docker images

 3:启动镜像

docker run --name mysql5.7.28 -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql:5.7.28

4:进入容器内部查看mysql数据库的相关配置,找到mysqld的相关配置

docker exec -it mysql5.7.28 bash

 

cat /etc/mysql/my.cnf

找到mysqld的相关配置 

cat /etc/mysql/mysql.conf.d/mysqld.cnf

 将下面这段话复制出来

5:返回宿主机(exit)

并且随便找个地方新建文件夹子

cd /usr/local/mysql

在选择的目录下新建两个文件夹 

mkdir config
mkdir data

6:在config目录下,新建mysql的配置文件

cd config
touch mysqld.cnf

将步骤4中的数据复制到新建的配置文件中去。 

7:挂载数据卷和配置启动新的容器(注意端口需要改变,以及容器的名字也要改变,因为步骤3已经启动了一个容器,我这里选择的是4306作为容器3306的映射端口)


docker run --name newmysql5.7.28 --restart always --privileged=true -p 4306:3306 -v /usr/local/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_USER="psy" -e MYSQL_PASSWORD="psy123456" -e MYSQL_ROOT_PASSWORD="psy123456" -d mysql:5.7.28

 

如果有些日志文件没有权限的话,可以使用如下命令将对应的文件夹赋予对应的权限即可

chown -R 999:999 /var/mysql/log

 

启动成功 

 相关参数的说明

–restart always:开机启动
–privileged=true:提升容器内权限
-v /usr/loacal/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf:映射配置文件
-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录
-e MYSQL_USER=”psy”:添加用户psy
-e MYSQL_PASSWORD=”psy123456”:设置psy的密码
-e MYSQL_ROOT_PASSWORD=”psy123456”:设置root的密码

8:用navicat进行链接测试

9:修改数据库的最大链接数,和编码

show variables like '%max_connections%';

这里我们通过挂载的配置进行修改最大的链接数,在步骤6中的配置文件中增加一个配置,这里我改成10000

max_connections=10000

然后我们重启一下这个容器(newmysql5.7.28) 命令为: docker restart 容器Id

这个时候我们在看下mysql的最大链接数,修改生效了。

其他的配置如Sql_modle,慢查询时间。错误日志等,都是可以配置的。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值