1.云服务商防火墙设置
允许3306端口连接(mysql默认端口)
2.创建数据卷挂载目录及文件
3.docker运行mysql
3.1创建一个通用网络
docker network create hm-net
3.2查看docker网络
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
所以在运行前,修改权限
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
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
查看日志
docker logs mysql
查看mysql运行情况
docker ps
5.本地连接mysql
确保完成了第一步的设置