ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

使用MySQL-Docker镜像启动MySQL

2022-01-02 12:02:41  阅读:197  来源: 互联网

标签:MySQL mysqld timeout mysql 3306 镜像 Docker docker


1. Docker安装参考https://www.cnblogs.com/hujiapeng/p/5817535.html

2. 在服务器本地创建MySQL配置文件,基本配置如下,如放在文件/root/mysql/conf/my.cnf中

[mysqld]
# 设置3306端口
port=3306
# mysql pid记录文件
pid-file = /var/run/mysqld/mysqld.pid
# socket配置
socket = /var/run/mysqld/mysqld.sock
# 设置mysql数据库的数据的存放目录
datadir=/var/lib/mysql
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=100
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 64M
max_heap_table_size = 64M
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

3. docker命令启动MySQL镜像,如果docker服务没启动,可以使用service docker start命令启动。注意使用--privileged=true配置,让docker有权限操作物理机文件

docker run --name mysql -p 3306:3306 --privileged=true -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

 4. 进入Mysql docker内部

docker exec -it mysql /bin/bash

5. 启动Mysql客户端,连接Mysql。show databases;命令可以列出数据库

 mysql -uroot -proot

 

标签:MySQL,mysqld,timeout,mysql,3306,镜像,Docker,docker
来源: https://www.cnblogs.com/hujiapeng/p/15734694.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有