M87星云

导航

docker安装mysql8.0.28

1. 下载mysql:8.0.28

docker pull mysql:8.0.28

2. 复制mysql容器配置目录文件

## 创建临时mysql8

docker run -itd \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=root123 \
 -- name mysql8 mysql:
8.0.28

## 确保mysql成功启动后,复制my.cnf文件

docker copy mysql8:/etc/mysql/my.cnf /home/root/mysql8/

## 删除临时mysql8

docker rmi -f mysql8

3. 开始安装mysql容器

先创建 /home/dell/mysql8全部子目录data、log、files

docker run -itd \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=root123 \
  -v /home/root/mysql8/data:/var/lib/mysql \
  -v /home/root/mysql8/log:/var/log/mysql \
  -v /home/root/mysql8/my.cnf:/etc/mysql/my.cnf \
  -v /home/root/mysql8/files:/var/lib/mysql-files \
  --network app \   --如果mysql创建自定义网络,请忽略
  --name mysql8 \
  --restart always \
mysql:8.0.28

4. 修改权限

# 主机文件授权
chmod -R 766  /home/root/mysql8

# mysql容器文件授权

docker exec -it mysql8 /bin/sh

chmod -R 766 /etc/mysql

5. mysql远程登录授权

docker exec -it mysql8 /bin/sh

#先登录mysql控制台操作
mysql -uroot -p123456

use mysql;

select Host, User from user;

#允许远程认证登录
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123';

flush privileges;

6. 配置mysql(可选)

docker stop mysql8
vim /home/root/mysql8/my.cnf

# 1表示忽略大小写
lower_case_table_names=1

# 缓冲池(核心内存与I/0配置)
innodb_buffer_pool_size=8G
innodb_buffer_pool_instances=8
innodb_buffer_pool_chunk_size=1G
innodb_read_io_threads=8
innodb_write_io_threads=8

innodb_log_buffer_size=64M

# query config
sort_buffer_size=16M
join_buffer_size=128M
read_buffer_size=16M
read_rnd_buffer_size=8M

# 连接配置
max_connections=2000
thread_cache_size=200

# 其他配置
back_log=512
table_open_cache=4096
table_open_cache_instances=16
tmp_table_size=64M
max_allowed_packet=256M

 

7.  用navicat测试连接

## 重启后进行连接操作

docker restart mysql8

 

posted on 2025-04-27 09:32  挽留匆匆的美丽  阅读(88)  评论(0)    收藏  举报