1.mysql docker介绍:Docker Hub
2.搜索官方镜像-docker search mysql。
3.拉取指定版本mysql-docker pull mysql:tag,默认拉取最新的。
4.查看下载的镜像
5.创建用户(用于远程连接和后续mysql用户设置)
6.创建和配置容器外部配置文件、数据、日志存放路径(conf,data,log)
在conf路径下存放一份mysql配置文件my.cnf
配置内容
7.docker运行mysql
docker run --name='mysql' -d \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=kenick \
-e MYSQL_USER=kenick \
-e MYSQL_PASSWORD=123456 \
-v /home/kenick/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/kenick/mysql/data:/var/lib/mysql \
-v /home/kenick/mysql/log:/var/log/mysql \
-m 150m \
-p 3306:3306 \
mysql:5.6.41
其中MYSQL_USER为远程连接的用户名,MYSQL_PASSWORD为远程连接的密码.
8.docker查看mysql运行情况。
测试登录,注意一下,如果是在腾讯云上面操作,需要指定一下主机地址(172.17.0.1-内网地址),如果不指定,连接时,会出现一个莫名其妙的地址,导出连接失败,这应该是腾讯云的问题。
8.mysql 5.6调整配置减少内存使用
performance_schema_max_table_instances=300
table_definition_cache=200
table_open_cache=128
完整的my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
symbolic-links=0
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
bind-address=0.0.0.0
performance_schema_max_table_instances=300
table_definition_cache=200
table_open_cache=128