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

浙公网安备 33010602011771号