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,慢查询时间。错误日志等,都是可以配置的。

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

被折叠的 条评论
为什么被折叠?



