Docker运行mysql
1、 拉取mysql5.7镜像
1 | docker pull mysql:5.7 |
2、 创建用于挂载的目录(日志目录、数据目录、配置目录)
3、 在conf目录下创建my.cnf配置文件
my.cnf内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [mysqld] user=mysql character- set -server=utf8mb4 default_authentication_plugin=mysql_native_password secure_file_priv= /var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000 skip-name-resolve [client] default-character- set =utf8mb4 [mysql] default-character- set =utf8mb4 |
4、 使用docker命令创建容器
1 | docker run --restart=always --network=mybridge --ip 172.18.18.100 -p 13306:3306 --name mysql-server-1 - v E:\docker\mysql\conf: /etc/mysql - v E:\docker\mysql\logs: /var/log/mysql - v E:\docker\mysql\data: /var/lib/mysql - v E:\docker\mysql\conf\my.cnf: /etc/mysql/my .cnf --privileged= true -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 |
命令参数解释:
--restart=always,当docker重启时,容器也重启
--name,容器命名
--network=mybridge,指定网络
--ip,指定固定ip
-p 3306:3306,宿主机和容器端口映射
-v(此命令中有三个-v参数) 挂载数据等内容,避免容器重启造成的数据丢失
--privileged 权限配置,一般和-v配合使用
-e 设置环境变量(此处设置了mysql的密码)
-d 后台启动(容器不会因为shell的退出而停止运行)
5、连接mysql
5.1 在命令行连接
进入mysql容器(可以使用名称或容器ID进入):docker exec -it mysql-server-1 /bin/bash
连接mysql服务器:mysql -uroot -proot
列出数据库:show databases;
5.2 使用Navicat远程连接
点击连接,选择mysql,输入ip地址与用户名密码,端口由于直接使用的宿主机的13306映射的mysql容器内的3306端口,因此直接写13306即可,写完后点击测试链接,显示连接成功即OK。
代码毁灭世界
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix