Docker 部署 mysql 5.7
一、准备工作
1.打开目录
cd /usr/local/docker/
2.创建文件夹
mkdir mysql
3.打开文件夹
cd mysql/
二、创建挂载目录
1.创建数据挂载目录
mkdir data
2.创建配置文件目录
mkdir config
3.打开config
cd config/
4.编写配置文件
vim my.cnf
粘贴配置
[client] # 端口号 port=3306 [mysql] no-beep default-character-set=utf8mb4 [mysqld] # 端口号 port=3306 # 数据目录 datadir=/var/lib/mysql # 新模式或表时将使用的默认字符集 character-set-server=utf8mb4 # 默认存储引擎 default-storage-engine=INNODB # 将 SQL 模式设置为严格 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" # 最大连接数 max_connections=1024 # 表缓存 table_open_cache=2000 # 表内存 tmp_table_size=16M # 线程缓存 thread_cache_size=10 # 设置大小写不敏感 lower_case_table_names=1 # myisam设置 myisam_max_sort_file_size=100G myisam_sort_buffer_size=8M key_buffer_size=8M read_buffer_size=0 read_rnd_buffer_size=0 # innodb设置 innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size=1M innodb_buffer_pool_size=8M innodb_log_file_size=48M innodb_thread_concurrency=33 innodb_autoextend_increment=64 innodb_buffer_pool_instances=8 innodb_concurrency_tickets=5000 innodb_old_blocks_time=1000 innodb_open_files=300 innodb_stats_on_metadata=0 innodb_file_per_table=1 innodb_checksum_algorithm=0 # 其他设置 back_log=80 flush_time=0 join_buffer_size=256K max_allowed_packet=4M max_connect_errors=100 open_files_limit=4161 sort_buffer_size=256K table_definition_cache=1400 binlog_row_event_max_size=8K sync_master_info=10000 sync_relay_log=10000 sync_relay_log_info=10000
5.下载镜像
docker pull mysql:5.7
检查镜像
docker images
三、编写脚本
1.打开目录
cd /usr/local/docker/mysql/
2.编写脚本
vim startMysql.sh
脚本内容
docker run -d \ --privileged=true \ --name mysql57 \ -p 3306:3306 \ --restart=always \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -v /usr/local/docker/mysql/config/my.cnf:/etc/mysql/my.cnf \ -e MYSQL_ROOT_PASSWORD=root mysql:5.7 \
3.权限赋予
chmod -R 777 startMysql.sh
4.启动脚本
./startMysql.sh
5.查看
docker ps
docker ps -a
6.服务器开启端口
注:本地虚拟机不需要
莫谈他人高薪,且看闲时谁在拼.