docker安装mysql8.0

1,下载docker镜像

docker pull mysql:8.0

2,建立主机目录

mkdir -p /opt/mysql/conf /opt/mysql/data /opt/mysql/logs

3,创建mysql8.0配置文件

vim /opt/mysql/conf/my.cnf

复制代码
 1 [mysqld]
 2 #datadir=/usr/local/mysql/data
 3 default_authentication_plugin=mysql_native_password  #使用mysql8以前的密码插件,以便navicat等工具能够正常连接
 4 default-storage-engine=INNODB
 5 character_set_server = utf8
 6 secure_file_priv=/var/lib/mysql
 7 [mysqld_safe]
 8 character_set_server = utf8
 9 [mysql]
10 default-character-set = utf8
11 [mysql.server]
12 default-character-set = utf8
13 [client]
14 default-character-set = utf8
复制代码

4,创建容器脚本

vim /opt/mysql/docker.sh

1 docker run -p 3306:3306 --name mysql \
2 -v /opt/mysql/logs:/var/log/mysql \
3 -v /opt/mysql/data:/var/lib/mysql \
4 -v /opt/mysql/conf:/etc/mysql \
5 -e MYSQL_ROOT_PASSWORD=root \
6 -d mysql:8.0

./docker.sh

5,配置mysql对外开放连接权限(如果外界navicat联不通,一般docker版的mysql是可以从外界直接连通的)

docker exec -it mysql mysql -uroot -proot

use mysql

select host,user from user;

update user set host = '%' where user = 'root';

flush privileges;

select host,user from user;

posted @   光何  阅读(1510)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2018-11-30 常用正则表达式

点击右上角即可分享
微信分享提示