mysql 05 基于docker部署

  1. 拉镜像
  2. 查看
  3. 添加my.cnf
  4. 编辑
  5. 添加如下内容
  6. 运行
  7. 查看运行情况
  8. 进入mysql
  9. 创建用户
  10. 开防火墙端口

拉镜像

docker pull mysql:5.6  

后面的数字是mysql的版本,可以按需设置

官网:https://hub.docker.com/_/mysql

查看

docker images |grep mysql

添加my.cnf

创建文件夹

mkdir -p /data/mysql/conf

编辑

vim /data/mysql/conf/my.cnf

添加如下内容

[client]

port=3306
default-character-set=utf8

[mysqld]

#忘记root密码后把这个打开
#skip-grant-tables

port=3306
character_set_server=utf8
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
datadir     = /var/lib/mysql

#默认引擎
default-storage-engine=InnoDB

#最大连接数
max_connections=1000

wait_timeout=86400

max_allowed_packet=50M

# 慢查询
long_query_time=1
slow_query_log='ON'

#时差处理
default-time_zone='+8:00'

#不需要进行hostname解析
skip-name-resolve

innodb_file_per_table = 1

#为1表示开启通用日志查询,值为0表示关闭通用日志查询
general_log=1
general_log_file=/var/lib/mysql/general_log.CSV
#设置通用日志的输出格式为文件和表
log_output=FILE,TABLE

#MySQL8需要加这句配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

运行

docker run -p 3308:3306 \
--restart=always \
--privileged=true --name mysql5 \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /data/mysql/logs:/logs \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=hexoadmincp2022 \
-v /etc/localtime:/etc/localtime \
-d mysql:5.6

命令说明:
-p 3308:3306:mysql3306端口映射到主机3308上
-e MYSQL_ROOT_PASSWORD=hexoadmincp2022:初始化 root 用户的密码。
-d mysql:5.6,后面的版本改成你自己的

查看运行情况

docker ps

进入mysql

docker exec -it mysql5 bash

创建用户

教程见《mysql 06 使用指南》

开防火墙端口

参考《linux 防火墙》


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:mysql 05 基于docker部署

字数:347

本文作者:夏来风

发布时间:2020-06-05, 16:27:01

原始链接:http://www.demo1024.com/blog/mysql-docker/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。