文章目录
1. mysql容器部署
- 1. mysql容器部署
- 2.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