docker安装有初始数据库的mysql

**

第一种方法

 使用Dockerfile制作自己的mysql镜像将初始SQL文件add到容器中,这种方法镜像会变得十分大

第二种方法

使用mysql官方docker镜像,文件映射的方式来部署带有初始数据库的mysql容器
以mysql5.7为例:
首先下载mysql:5.7镜像
docker pull mysql:5.7
在服务器home目录下创建mysql文件夹,并在mysql文件夹下面创建data、conf、log文件夹,其中conf里面创建 
my.conf的配置文件,logs文件夹创建error.log文件。        
#my.conf的参考配置如下
[client]
port            = 3306
socket          = /tmp/mysql.sock
[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock
port=3306
sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
long_query_time = 5
slow_query_log = 1
slow_query_log_file = slow.log
max_connections=3000
skip-name-resolve
back_log=384
log-bin=mysql-bin
binlog_format=mixed
expire_logs_days = 7
server-id = 123  
然后启动一个mysql的docker容器,命令如下
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf 
-v /home/mysql/data:/var/lib/mysql 
-v /home/mysql/log/error.log:/var/log/mysql/error.log 
--name test_mysql mysql:5.7

#注释
-d 容器后台运行
-p 3306:3306 前面是服务器的3306端口后面是docker容器内部端口,这样是可以通过服务器3306端口来访问docker的3306端口就是MySQL服务
-e MYSQL_ROOT_PASSWORD=123456  mysql的账号密码nacicat连接时账号为root密码123456,若要设置复杂密码可在此处设置
-v 即挂载容器外部文件到容器内部
-name 容器名/和以前的不重复就好最后是 镜像名或者镜像i

接下来使用navicat等工具连接次mysql数据库,将你的sql文件导入其中,这时候data文件夹下面就会同步 docker容器内部的data文件,保存此data文件,然后可以删除此docker容器,下次重新开启一个新的mysql容器时使用这个data文件进行映射,就可以得到带数据库的mysql容器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值