2024年11月21日

HYEOS

随事而为

Docker安装多版本mysql及Magento2

1 min read

今天在docker中安装magento2的时候在最后一步的安装始终报错,一开始以为是数据库配置连接的错误,最后搜索了一些文档,才搞清楚原来magento2支持的版本最高是mysql5.7.xx版本,而我docker版本处于mysql8的版本,因此所有的配置是没有问题,而根原主要是在数据库版本的不支持,而最好的解决方式是降级数据库版本,问题来了,如果我要降级数据库,原来的一些数据内容有可能在5.7版本中不兼容,造成其它服务器软件无法运行,由此,便打算多版本mysql安装。

1616937731 magento2 3
 
1616937741 magento2 2
 

 

docker mysql 5.7.33 install

从docker hub上查到提供的mysql5.7.xx的最高版本是5.7.33,用如下命令安装启动

先拉取镜像

docker pull mysql:5.7.33

 然后,本地创建目录准备映像mysql的配置文件及数据内容

mkdir -p conf data logs

最后使用以下命令启动,3506为映射的mysql5.7.33的3306端口,之前已经有一个数据库占用了3306端口

run -p 3506:3306 --name mysql5.7 -v /work/mydocker/mysql/5.7.33/conf:/etc/mysql/conf.d -v /work/mydocker/mysql/5.7.33/logs:/logs -v /work/mydocker/mysql/5.7.33/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.33

下一步安装 magento2

首先,配置数据库

docker exec -it mysql5.7 bash
mysql -uroot -p
->mysql create database magento2; //创建magento2数据库
->mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '×××××××' WITH GRANT OPTION;  //给root用户授权远程连接权限
->mysql FLUSH PRIVILEGES; //刷新权限

启动magento2

docker run --restart=always \
--link mysql5.7:3506 \
--name magento \
-p 8010:80 \
-p 8043:443 \
-v /var/www/html/magento/data:/data  \
-d \
alexcheng/magento2

然后,打开浏览器http://shop.hyeos.net(已经做了nginx反代)或者http://hyeos.net:8010,按照指导进行安装,顺利完成

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注