Thinker

docker安装mysql镜像和容器

下拉镜像

 docker pull mysql/mysql-server:5.5

后面的mysql标签是版本号,是可选择的,有:

  • 5.5
  • 5.6
  • 5.7
  • 8.0

创建mysql5.5的容器

docker run --name mysql5.5 -p 3308:3306 -v ./conf:/etc/mysql/conf.d -v ./logs:/logs -v ./data:/var/lib/mysql -e MYSQL\_ROOT\_PASSWORD=123 -d mysql/mysql-server:5.5

参数解释:

  • --name 容器名字
  • -p 3308:3306 物理机端口:容器内部端口
  • -e 运行参数 初始化 root 用户的密码
  • -d 后台运行 mysql/mysql-server:5.5 下载的镜像名字加标签
  • -v ./conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。//配置文件目录
  • -v ./logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。//日志目录
  • -v ./data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。//数据库文件存放目录

修改mysql允许远程连接

此时是无法连接到mysql的,必须修改成允许远程连接

#通过这个命令进入容器内
docker exec -it mysql5.5 bash

#连接mysql
mysql -u root -p

#修改mysql允许远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
FLUSH PRIVILEGES

本机连接容器内的数据库

# 本机连接容器内的数据库,(我们将容器内的3306端口映射到了本机的3308,所以我们通过3308端口访问)
mysql -u root -p -h 127.0.0.1 -P 3308
posted @ 2018-05-28 11:52  ThinkerBlog  阅读(14234)  评论(2编辑  收藏  举报