赞
踩
docker拉取镜像并启动mysql容器
- docker run \
- -p 33306:3306 \
- --name mysql \
- -e MYSQL_ROOT_PASSWORD=root \
- -d mysql:8.0.28
启动docker容器后进入容器,拷贝数据以及配置文件
- docker exec -it mysql bash
-
- show variables like '%datadir%';
-
-
- docker cp mysql:/var/lib/mysql /mydata/mysql/data
- docker cp mysql:/etc/mysql /mydata/mysql/conf
使用上面的mysql配置文件,挂载本地配置文件以及数据
- docker stop mysql && docker rm mysql
- docker run --restart=always --privileged=true \
- -p 33306:3306 \
- --name mysql \
- -v /mydata/mysql/data:/var/lib/mysql \
- -v /mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf \
- -v /mydata/mysql/conf/conf.d:/etc/mysql/conf.d \
- -v /mydata/mysql/logs:/var/log/mysql \
- -e MYSQL_ROOT_PASSWORD=root \
- -e TZ=Asia/Shanghai \
- -d mysql:8.0.28
my.cnf配置文件:
- [mysqld]
- user=mysql
- character-set-server=utf8
- default_authentication_plugin=mysql_native_password
- secure_file_priv=/var/lib/mysql
- sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
- max_connections=1000
-
-
- default-time-zone='+08:00'
- innodb_buffer_pool_size = 128M
- port = 3306
- datadir=/var/lib/mysql
- socket=/var/run/mysqld/mysqld.sock
- pid-file=/var/run/mysqld/mysqld.pid
-
- # 允许连接失败的次数。
- max_connect_errors=10
-
- #引擎
- default-storage-engine=INNODB
-
- log-bin = mysql-bin
- # #设置保存时间
- expire_logs_days=7
-
- # #注意5.7以及更高版本需要配置本项:server-id=123454(自定义,保证唯一性); server-id 一般去ip后三位
- server-id=138
- # #binlog格式,有3种statement,row,mixed
- binlog-format=ROW
- # #表示每1次执行写入就与硬盘同步,会影响性能,为0时表示,事务提交时mysql不做刷盘操作,由系统决定
- sync-binlog=1
-
-
- # ##开启慢sql
- slow_query_log=on
- slow_query_log_file=/var/lib/mysql/slow-query.log
- long_query_time=1
-
-
- [client]
- default-character-set=utf8
-
- [mysql]
- default-character-set=utf8
以上便是docker拉取mysql镜像并挂载本地配置文件以及数据启动容器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。