Ubuntu Docker 部署MySQL
虚拟环境就在上一节的基础上来。
安装之前,确认下当前的环境,如下:

安装MySql镜像
参考博客:https://blog.csdn.net/weixin_62846577/article/details/131391328
注意:如果镜像无法拉取,可以参考《VUE Ubuntu 18.04.6 Docker发布(额外补充)》修改镜像地址。
或者参考《https://cloud.tencent.com/developer/article/1501447》,博主镜像可以拉取,所以这个没试过。
docker pull mysql

在以上步骤完成后,我们可以创建mysql容器。
docker run -itd --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
会返回我们一个容器的ID。
这个命令中,name是想创建的容器的名字,MYSQL_ROOT_PASSWORD是mysql的密码,最后的那个mysql是镜像的名字。

可以看到,此时mysql容器的STATUS是UP ,这代表是正在运行的。
创建完容器,我们使用如下命令进入容器
docker exec -it mysql bash
进入容器后就使用mysql命令进入mysql
mysql -uroot -p123456

如果容器没有运行,使用
docker start mysql
来启动容器,mysql是容器的名字。
如果要停止,使用
docker stop mysql
来停止容器,同理,mysql为容器的名字。
命令
docker ps -a
是查看所有容器,如果容器没有运行,那么
docker ps
是看不到未启动的容器,执行启动命令后才可以看到。
navicat连接mysql
官网直接下载:Navicat Premium Lite 17
好像不需要破解了~~
命令参考:Windows环境下如何安装MySql
use mysql;
select host, user from user;

可以看到user为root那里的host为**%**,这代表我们可以外部访问。
如果不是上图的样子,在其他文章中寻找解决问题方法。

其他
拉取指定版本镜像
docker pull mysql:8.0.14
2. 清理旧容器、旧数据
# 停止并删除旧mysql容器
docker stop mysql
docker rm mysql
# 删除持久化数据目录
rm -rf /data/mysql-data /data/mysql-conf
mkdir -p /data/mysql-data /data/mysql-conf
3. 启动 MySQL 容器(不带 --lower_case_table_names=1)
docker run -d \
--name mysql \
--restart always \
-p 3306:3306 \
-v /data/mysql-data:/var/lib/mysql \
-v /data/mysql-conf:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=Root@123456 \
mysql:8.0.14 \
--default-authentication-plugin=mysql_native_password
4. 验证大小写参数
docker exec -it mysql mysql -uroot -pRoot@123456
show variables like 'lower_case_table_names';
# 输出 0 代表区分大小写,支持大写表
现有 mysql 容器加入 cxpnet
docker network connect cxpnet mysql