【Docker】2、Docker安装MySQL

前置说明

  • 之前的文章安装Docker中已经在CentOS7环境下安装好了Docker,并且配置上了开机自启动以及阿里云国内镜像
  • 今次将使用Docker配置安装MySQL5.7
官方文档 【【Docker】2、Docker安装MySQL】https://hub.docker.com/_/mysql
安装步骤
  1. 下载镜像
参照文档,选择Tag标签,找到需要安装的版本号,这里安装5.7版本

【Docker】2、Docker安装MySQL
文章图片
image.png
sudo docker pull mysql:5.7

  1. 创建容器实例并启动
sudo docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7

  • -p 主机端口:容器端口:将容器端口映射到主机端口。之后访问主机端口即可对应映射到容器服务
  • -v 主机文件目录:容器文件目录:挂载容器文件目录。之后容器内文件与主机文件一一对应,修改配置之类的都不再需要进入容器内部修改
  • -e MYSQL_ROOT_PASSWORD=root:初始化ROOT用户的密码
建议配置 1、字符集编码
  1. 修改配置文件
vi /mydata/mysql/conf/my.cnf

  • 由于前面启动容器时设置了-v xxx:xxx文件挂载,所以可以直接在主机的文件位置修改配置,无需进入容器修改
  • 在配置文件中配上以下内容
[client] default-character-set=utf8[mysql] default-character-set=utf8[mysqld] init_connect='SET collation_connection=utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve

  1. 重启容器
sudo docker restart mysql

  1. done!
2、配置开机自启动
sudo docker update mysql --restart=always

    推荐阅读