基于docker的mysql安装及配置

mysqldocker仓库位于 https://hub.docker.com/_/mysql/ ,
该仓库提供了 MySQL 各个版本的镜像,包括 5.6 系列、5.7 系列等。

基本使用方法

Start a mysql server instance

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

Connect to MySQL from an application in another Docker container

$ docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql

Connect to MySQL from the MySQL command line client

通过其他命令行连接mysql

$ docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

通过一个临时docker镜像来连接

$ docker run -it --rm mysql mysql -hsome.mysql.host -usome-mysql-user -p

将mysql文件保存到宿主机

通常我们也应该这样做,将业务数据保存到宿主机,避免容器删除后丢失数据,而且也可以做有效备份

Where to Store Data

通过-v参数指定宿主机一个目录到mysql容器目录的映射。mysql容器目录为/var/lib/mysql

$ docker run --name some-mysql -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

常用启动方法

可以参考我的启动命令来创建mysql容器

$ docker run --name my-mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

说明

  • --name: 指定容器名称
  • -p: 指定mysql服务容器端口到宿主机端口映射。mysql容器默认端口是3306,通过-p可以将其端口映射到宿主机3306端口,这样我们通过客户端就可以访问3306端口连接mysql了。
  • -v: 指定mysql容器中目录到宿主机目录的映射

你可能感兴趣的:(基于docker的mysql安装及配置)