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