Docker - 部署mysql数据库
Docker - 部署mysql数据库
下载mysql 镜像
docker pull mysql
将全部的配置文件和关联的文件夹统一放到/opt/docker-mysql
中
$ mkdir -p /opt/docker-mysql/conf.d
增加并修改配置文件config-file.cnf
[mysqld] # 表名不区分大小写 lower_case_table_names=1 #server-id=1 datadir=/var/lib/mysql #socket=/var/lib/mysql/mysqlx.sock #symbolic-links=0 # sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
三、启动
增加数据文件夹
$ mkdir -p /opt/docker-mysql/var/lib/mysql
启动,设置默认密码 123456
docker run --name mysql \ --restart=always \ -p 3306:3306 \ -v /opt/docker-mysql/conf.d:/etc/mysql/conf.d \ -v /opt/docker-mysql/var/lib/mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:latest
如连接时遇到以下问题。
问题1:
1. 进入mysql 容器
docker exec -it mysql /bin/bash
2.进入mysql
mysql -uroot -p123456
3.修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
OK,解決。
问题2:
远程访问mysql出现Access denied for user 'root'@'的解决方法

解释:服务器没有授权给你这个ip是不能连接的
你想root用户名使用root密码从任何主机连接到mysql服务器的话。
8.0之前的版本 运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>flush privileges;
如果你想允许用户root从ip为192.168.3.10的主机连接到mysql服务器,并使用root作为密码
8.0之前的版本 运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.3.10' IDENTIFIED BY '123456' WITH GRANT OPTION;
上面的命令创建一个可以从任意机器以root登录的超级账号,口令是root。这样,就可以使用方便的图形工具(navicat for mysql)进行登录和操作,包括修改root的口令。
其中用户名和密码、IP换成自己的即可
注意:
8.0版本之前的提升权限语句:
grant all privileges on *.* to 'root'@'%' identified by `123` with grant option;
新版的语句:
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
输入exit 退出。
完成,在局域网的其他电脑上 可正常连接。
常用命令
进入容器
docker exec -it mysql bash
查看日志
docker logs -f mysql
备份数据
docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -p"123456"' > /some/path/on/your/host/all-databases.sql
恢复数据
docker exec -i mysql sh -c 'exec mysql -uroot -p"123456"' < /some/path/on/your/host/all-databases.sql
引用:https://www.jianshu.com/p/d6febf6f95e0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2019-03-05 Jenkins-在windows上配置自动化部署(Jenkins+Bonobo.Git.Server)