您当前的位置: 首页 >  docker
  • 3浏览

    0关注

    212博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

docker部署mysql

杰哥的技术杂货铺 发布时间:2021-04-25 19:40:33 ,浏览量:3

文章目录
  • 1. mysql容器部署
  • 2.mysql配置文件详解

1. mysql容器部署
  • 下载mysql数据库镜像
# docker pull mysql:5.7.22
  • 创建mysql挂载目录
# mkdir -p /opt/docker/mysql/data
  • 编写mysql配置文件
# vim /opt/docker/mysql/my.cnf 
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
pid-file=/var/run/mysqld/mysqld.pid
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
port=3306
user=mysql
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
long_query_time=2
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow.log
key_buffer_size=1024M
max_allowed_packet=512M
table_open_cache=2048
sort_buffer_size=64M
max_length_for_sort_data=8096
read_buffer_size=64M
read_rnd_buffer_size=64M
myisam_sort_buffer_size=512M
thread_cache_size=256
query_cache_size=512M
query_cache_type=1
query_cache_limit=2M
tmp_table_size=256M
max_connections=3000
back_log=384
myisam_max_sort_file_size=10G
wait_timeout=3600
log-bin=mysql-bin
binlog_format=mixed
server-id=811
expire_logs_days=0
innodb_buffer_pool_size=6G
innodb_flush_log_at_trx_commit=0
skip-host-cache
skip-name-resolve
[mysqld_safe]
log-error=/var/lib/mysql/mysql.log
  • 启动mysql数据库
# docker run -itd --restart=unless-stopped -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone --name mysql -p 13306:3306 -v /opt/docker/mysql/data:/var/lib/mysql -v /opt/docker/mysql/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=mysql2021 mysql:5.7.22
  • 查看数据库已启动
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
6db4471f2ac4        mysql:5.7.22        "docker-entrypoint.s…"   7 seconds ago       Up 7 seconds        0.0.0.0:13306->3306/tcp   mysql

注意: 安装mysql时,需要将连接信息保存至安全的文件中,需要保存如下信息:

Mysql:
连接IP:mysql服务器内网IP地址
连接端口:13306
连接密码:mysql2021 
2.mysql配置文件详解
 [client]
port            = 3306                              
socket          = /tmp/mysql.sock
[mysqld]
# mysql默认数据存储目录
datadir=/var/lib/mysql              
# mysql服务器连接方式                   
socket=/tmp/mysql.sock         
#  mysql服务端口                      
port=3306             
# 义了mysql应该支持的sql语法,数据校验等!  NO_AUTO_CREATE_USER:禁止GRANT创建密码为空的用户。 NO_ENGINE_SUBSTITUTION 如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎                               
sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"              定
#超过的时间为1s;MySQL能够记录执行时间超过参数 long_query_time 设置值的SQL语句,默认是不记录的。
long_query_time = 5    
#开启慢查询                        
slow_query_log = 1                       
#指定慢查询日志保存路径及文件名      
slow_query_log_file = slow.log                  
#  mysql的最大连接数,MySQL的实际最大可连接数为max_connections+1;MySQL无论如何都会保留一个用于管理员(SUPER)登陆的连接,用于管理员连接数据库进行维护操作,即使当前连接数已经达到了
max_connections=3000                  
# 跳过客户端域名解析       
skip-name-resolve         
#   在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中                      
back_log=384                 
# 开启二进制日志功能,binlog数据位置                  
log-bin=mysql-bin             
# mysql 复制方式:混合模式复制                  
binlog_format=mixed      
# 控制binlog日志文件保留时间,expire_logs_days=7,表示保留最近7天的binlog日志,7天以前的binlog日志会被自动删除                       
expire_logs_days = 7                
# mysql的同步数据中是包含server-id的,用于标识该语句最初从哪个server写入          
server-id = 123                              
关注
打赏
1666063422
查看更多评论
立即登录/注册

微信扫码登录

0.0359s