docker容器配置MySQL与远程连接设置(纯步骤)

2023-12-13 18:01:30

以下为ubuntu20.04环境,默认已安装docker,没安装的网上随便找个教程就好了

  1. 拉去mysql镜像
docker pull mysql

这样是默认拉取最新的版本latest
这样是指定版本拉取

docker pull mysql:5.7

查看已安装的mysql镜像

docker images

通过镜像生成容器

docker run -d -p 3000:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /media/rice/文件/水利数据/DB-GPT-Dec/docker/examples/sqls/:/opt/files/ --name zys-sql mysql

注意3306不能改,这个是内部的端口号,必须是3306,否则外部会连接不到里面,左边的3000可以改成任意没被占用的端口号,外部连接的时候是输入左边的端口号的,-v参数是连接共享文件夹,自行选择,左边是主机文件夹路径,右边是容器内路径

重启一下容器,不然可能概率性出现登录不进mysql的情况

docker restart zys-sql

进入sql容器

docker exec -it zys-sql bash

在容器内输入,然后输入密码

 mysql -uroot -p

在这里插入图片描述
设置一下权限,这样外面才能访问mysql,否则会无法连接
那个密码是创建容器的时候设置的密码

alter user 'root'@'%' identified with mysql_native_password by '123456';

然后刷新一下权限

flush privileges;

在这里插入图片描述
然后用navicat进行连接测试
在这里插入图片描述
输入完后点击左下角 Test Connection,显示连接成功就是ok了

查看mysql内部的字符格式

show variables like 'character%';

基本都是这样的,这个latin1格式是不支持mysql输入中文的,会导致乱码
在这里插入图片描述
运行这句,把字符格式设置为utf8,这样数据库的中文就不是乱码了

set names utf8mb4;

改完后如下
在这里插入图片描述

文章来源:https://blog.csdn.net/zysss_/article/details/134882299
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。