centos7.3使用docker安装mysql

本文介绍在CentOS7.3环境下使用Docker安装MySQL的方法,包括镜像拉取、容器创建、配置远程连接及防火墙设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

本文主要介绍如何在centos7.3的环境下,使用docker安装mysql,最终实现使用navicate连接运行起来的mysql。

2、操作

(1)首先安装docker,具体的步骤请移步至文章:  centos7.3安装docker

(2)拉取mysql镜像,一个mysql镜像可以运行起来多个mysql容器,而每一个容器我们都可以用navicate去连接它,也就是说这个运行起来的mysql容器才是实打实的navicate连接的mysql服务器。对于镜像和容器的关系可以用类与对象的关系进行对比理解。希望我这样的解释能够让您有新的体会。

(2.1)查看当前的所有的mysql镜像

docker search mysql

  

(2.2)然后我们进行镜像拉取,指定mysql版本为8.0.16,版本号可以按照自己需要的替换。

docker pull mysql:8.0.16

(2.3)下载成功后,我们可以通过该命令来查看所有下载的镜像

docker images 

(2.4)根据mysql镜像,生成相应的mysql容器

docker run -p 3306:3306  --name mysql01 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d  mysql:8.0.16

以上命令几个要注意的地方: --name后面的名字代表的是启动的容器的名字,最好自己取;MYSQL_ROOT_PASSWORD=123456代表数据库的登录密码是123456,这里注意修改;mysql:8.0.16,这里的8.0.16要根据自己实际安装的版本号进行修改。

(2.5)此时可以通过docker  ps 来查运行起来的容器

docker ps

  

(2.6)接下来进入到运行起来的mysql容器的内部,进行几个基础的操作

docker exec -it 936182cab81e bash

  这里的936182cab81e是我自己的mysql容器id,你们也要拿自己的id,不要和我的一样。

(2.7)进入到mysql容器以后,再登录到mysql里面

 mysql -uroot -p123456

   

  这里的密码就是刚刚启动容器的时候设置的。 

 (2.7)成功登录mysql以后,分别执行下面两条指令,作用是让mysql允许被远程客户端连接让mysql允许被远程客户端连接,并且刷新配置。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

FLUSH PRIVILEGES;

  

(2.8)到了这一步就剩下服务器接口开放的问题了。接口开放分为两步,一步是自己的centos7.3要开启3306端口,另一步是开启阿里云安全组中的3306端口。

(2.8.1)首先我们先来开启centos7.3自身服务器的3306端口

  (1)开启防火墙功能

service firewalld start

  (2) 永久开启3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

   (3) 重启防火墙服务,让配置生效

firewall-cmd --reload

 (2.8.2) 接下来我们来开启阿里云安全组中的3306端口,我们知道,阿里云也是分有多种服务器的比如ECS,轻量级应用服务器 ...。如果您用的是ECS那么请移步至这篇文章:新版阿里云服务器的安全组配置。如果是轻量级应用服务器请看下面: 先找到如下图所示的页面,然后选择  安全 -> 防火墙 -> 添加规则。

然后再如下这张图所示去填写即可开放阿里云安全组中的3306端口 

(2.9)最后就可以用navcate去连接了

3、总结 

 以上就是在centos7.3上使用docker安装Mysql了,希望我的文章有帮到您,加油~。

 

 

<think>好的,用户现在问的是关于如何在云服务器上部署PHP 7.3的问题。我需要回顾之前的对话历史,之前用户询问云服务器是否支持PHP升级,我的回答详细介绍了如何升级到PHP 8.x的步骤,包括不同云服务商的操作方法。现在用户可能是在寻找降级或者安装特定旧版本PHP的方法,比如PHP 7.3。 首,我要确认用户的需求。用户可能正在维护一个旧项目,需要特定的PHP版本,或者他们的应用程序尚未兼容PHP 8.x,所以需要继续使用7.3版本。这种情况下,用户需要知道如何在主流云服务器上安装和配置PHP 7.3,尤其是在当前云服务商可能默认不再提供该版本的情况下。 接下来,我需要考虑不同操作系统的处理方法。比如,Ubuntu和CentOS的包管理工具不同,添加仓库的方式也不同。在之前的回答中,我提到了使用第三方仓库如Ondřej Surý的PPA和Remi仓库,但这些可能主要支持较新的PHP版本。对于旧版本如7.3,可能需要特定的仓库或手动安装方法。 然后,我需要检查PHP 7.3的官方支持状态。PHP 7.3已经于2021年12月停止官方支持,这意味着它不会收到安全更新,用户需要注意潜在的安全风险。但有些情况下,用户可能不得不继续使用,因此需要指导他们如何安全地安装,即使官方仓库不再提供。 对于Ubuntu系统,可能需要添加旧的PPA或者找到存档的仓库来安装PHP 7.3CentOS方面,Remi仓库可能仍然有PHP 7.3的包,但需要启用正确的仓库通道。此外,手动编译安装也是一个选项,但需要更多的步骤和依赖管理,适合高级用户。 另外,用户可能使用控制面板如宝塔面板,这种情况下,需要指导他们通过面板的界面来安装PHP 7.3,可能涉及添加第三方源或手动上传安装包。 同时,需要提醒用户安装后配置Web服务器(如Nginx或Apache)以使用正确的PHP版本,检查扩展兼容性,以及验证安装是否成功。最后,强调安全风险,并建议尽可能升级到受支持的版本。 现在需要将这些思考整理成一个结构化的回答,分步骤说明如何在主流云服务器上部署PHP 7.3,涵盖不同操作系统、控制面板和容器化部署的情况,同时提供常见问题的解决方法,并给出安全建议。</think>--- ### 云服务器部署 PHP 7.3 的完整指南 --- #### **一、云服务器对 PHP 7.3 的兼容性** 1. **核心支持情况** PHP 7.3 已于 **2021年12月6日终止官方支持**(EOL),不再提供安全更新,但主流云服务器仍可通过手动配置安装。 - **适用场景**:旧项目维护、遗留系统兼容性需求。 - **风险提示**:长期使用存在安全漏洞风险,建议尽快升级至 PHP 8.x。 2. **云平台支持方式** | 操作系统 | 安装方式 | 核心依赖 | |--------------|-----------------------------|-----------------------| | **Ubuntu** | 第三方 PPA 仓库 | `ondrej/php` 旧版本分支 | | **CentOS** | Remi 仓库 | EPEL 扩展包 | | **Debian** | 手动编译或 Sury 仓库 | 开发工具链(gcc/make) | --- #### **二、部署 PHP 7.3 的详细步骤** ##### **1. Ubuntu/Debian 系统** ###### **通过 PPA 仓库安装(推荐)** ```bash # 添加 Ondřej Surý 的 PHP 旧版本仓库 sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php # 默认包含历史版本 sudo apt update # 安装 PHP 7.3 及常用扩展 sudo apt install php7.3 php7.3-fpm php7.3-mysql php7.3-curl # 验证版本 php -v # 应输出 PHP 7.3.x ``` ###### **手动编译安装(无仓库可用时)** ```bash # 安装编译依赖 sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev # 下载 PHP 7.3 源码 wget https://www.php.net/distributions/php-7.3.33.tar.gz tar -zxvf php-7.3.33.tar.gz cd php-7.3.33 # 配置并编译 ./configure --prefix=/usr/local/php7.3 --with-openssl --enable-fpm make -j$(nproc) sudo make install # 添加环境变量 echo &#39;export PATH="/usr/local/php7.3/bin:$PATH"&#39; >> ~/.bashrc source ~/.bashrc ``` --- ##### **2. CentOS/RHEL 系统** ###### **通过 Remi 仓库安装** ```bash # 启用 EPEL 和 Remi 仓库 sudo yum install epel-release sudo rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # 启用 PHP 7.3 仓库 sudo yum-config-manager --enable remi-php73 # 安装 PHP 7.3 sudo yum install php php-fpm php-mysqlnd # 重启 PHP-FPM sudo systemctl restart php-fpm ``` --- ##### **3. 宝塔面板用户** 1. **操作路径** - 登录宝塔面板 → 【软件商店】→ 【运行环境】→ 找到 PHP 7.3 → 点击安装。 - 若未显示 PHP 7.3,需手动添加旧版本源: ```bash # SSH 中执行(仅限宝塔 Linux 面板) wget -O install.sh http://download.bt.cn/install/install_panel.sh && bash install.sh ``` 2. **配置网站** - 进入网站设置 → 【PHP版本】→ 切换至 PHP 7.3。 - 检查扩展兼容性(如 `php7.3-gd`, `php7.3-mbstring`)。 --- #### **三、Web 服务器适配** ##### **1. Nginx 配置示例** ```nginx server { listen 80; server_name example.com; location ~ \.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; # 确认 sock 文件路径 include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` ##### **2. Apache 配置(mod_php)** ```bash # 禁用其他 PHP 模块 sudo a2dismod php8.1 # 启用 PHP 7.3 模块 sudo a2enmod php7.3 sudo systemctl restart apache2 ``` --- #### **四、常见问题与修复** ##### **1. 错误:`Package &#39;php7.3&#39; has no installation candidate`** - **原因**:未正确启用包含 PHP 7.3 的仓库。 - **解决**: - Ubuntu:确认已添加 `ppa:ondrej/php` 后运行 `sudo apt update`。 - CentOS:检查 Remi 仓库是否启用:`yum repolist | grep remi-php73`。 ##### **2. PHP-FPM 启动失败** - **日志定位**: ```bash journalctl -u php7.3-fpm --no-pager -n 100 ``` - **典型错误**: - `Unable to create lock file` → 检查目录权限: ```bash sudo chown -R www-data:www-data /var/run/php ``` ##### **3. 扩展不兼容** - **场景**:安装 `php7.3-mysql` 时报错依赖冲突。 - **解决**: ```bash # 强制指定版本安装(Ubuntu 示例) sudo apt install php7.3-mysql=7.3.33-1+ubuntu18.04.1+deb.sury.org+1 ``` --- #### **五、安全建议** 1. **隔离旧环境** - 使用 Docker 容器隔离 PHP 7.3 环境: ```dockerfile FROM php:7.3-fpm RUN docker-php-ext-install pdo_mysql ``` - 限制旧版 PHP 仅在内网访问。 2. **漏洞监控** - 定期扫描代码依赖(如使用 `phpcs` 或商业工具)。 - 关注 CVE 公告(如 [CVE-2021-21703](https://nvd.nist.gov/vuln/detail/CVE-2021-21703))。 --- #### **六、替代方案** 若必须使用 PHP 7.3,但云服务器无法直接部署,可考虑: 1. **虚拟化环境**:通过 VirtualBox 或 VMware 创建独立虚拟机运行旧系统。 2. **托管服务**:部分小众主机商仍提供 PHP 7.3 支持(需谨慎评估安全性)。 --- ### **总结** 云服务器支持部署 PHP 7.3,但需通过第三方仓库或手动编译实现。关键步骤包括: 1. 添加旧版 PHP 仓库(如 `ppa:ondrej/php` 或 Remi)。 2. 安装后适配 Web 服务器配置。 3.使用容器化隔离以降低安全风险。 **强烈建议**:除非必要,尽量升级至 PHP 8.1+ 以获取性能优化和安全补丁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值