docker-mysql实践

github,欢迎 star

docker mysql image

image url

启动 mysql 实例

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

some-mysql 是容器名称, my-secret-pw 是 root 账户密码, tag 是 mysql 版本

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26

连接

# 方式一: 本地连接
docker exec -i -t some-mysql bash
mysql -uroot -p


# 方式二: 容器远程连接

# 查询 some-mysql ip
docker inspect some-mysql
# -h 后的 ip 替换为 some-mysql 容器的ip
docker run -it  --rm mysql:5.7.26 mysql -h172.17.0.2 -uroot -p

# 方式三:主机远程连接

# -p参数添加主机映射端口
docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
# 使用主机的 navicate 等工具连接

进入容器

docker exec -it some-mysql bash

查看日志

docker logs some-mysql

使用自定义配置文件

Mysql默认的配置文件为 /etc/mysql/my.cnf, 不包含 /etc/mysql/conf.d/etc/mysql/mysql.conf.d等文件夹

如果自定义配置文件目录为 /my/custom/config-file.cnf , 则可使用如下命令启动容器:

docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26

mysql 实例启动时会结合使用 /etc/mysql/my.cnf/etc/mysql/conf.d/config-file.cnf 配置

环境变量

  • MYSQL_ROOT_PASSWORD root账户密码
  • MYSQL_DATABASE 容器启动时自动创建数据库
  • MYSQL_USER, MYSQL_PASSWORD 自动创建用户及密码,会赋予该用户 MYSQL_DATABASE 所指定数据库的所有权限

数据存储

# 绑定主机目录
docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
# or
# docke volume
docker run --name some-mysql --mount source=mysql-vol,target=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26

备份

docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql

恢复

docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值