服务器用docker配置mysql并本地连接

1.云服务商防火墙设置

在这里插入图片描述

允许3306端口连接(mysql默认端口)

2.创建数据卷挂载目录及文件

在这里插入图片描述

3.docker运行mysql

3.1创建一个通用网络

1
docker network create hm-net

3.2查看docker网络

1
docker network ls

在这里插入图片描述

3.3在docker run之前,确保文件夹和文件权限

卡了我n久!!!!!!!
之前报的错误如下
在这里插入图片描述从日志信息中可以看到,MySQL 容器在启动过程中遇到了权限问题。具体来说:

1.  配置文件权限问题:
      • mysqld: File '/etc/mysql/conf.d/hm.cnf' not found (OS errno 13 - Permission denied)
2.  初始化 SQL 文件权限问题:
      • /usr/local/bin/docker-entrypoint.sh: line 75: /docker-entrypoint-initdb.d/hmall.sql: Permission denied
    所以在运行前,修改权限
1
2
3
4
sudo chown -R 999:999 /home/azureuser/mysql/conf
sudo chmod -R 644 /home/azureuser/mysql/conf/*.cnf
sudo chown -R 999:999 /home/azureuser/mysql/init
sudo chmod -R 644 /home/azureuser/mysql/init/*.sql

4.创建并运行mysql

1
2
3
4
5
6
7
8
9
10
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v /home/azureuser/mysql/data:/var/lib/mysql \
-v /home/azureuser/mysql/conf:/etc/mysql/conf.d \
-v /home/azureuser/mysql/init:/docker-entrypoint-initdb.d \
--network hm-net\
mysql

在这里插入图片描述
查看日志

1
docker logs mysql

在这里插入图片描述
查看mysql运行情况

1
docker ps

在这里插入图片描述

5.本地连接mysql

确保完成了第一步的设置
在这里插入图片描述

用dbeaver时报错,解决方法如下

连接MySQL时报错:Public Key Retrieval is not allowed的解决方法