0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用PHP将MySQL/MariaDB数据库连接到Linux云服务器

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2026-01-07 17:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

你可以通过云服务器轻松连接 MySQL Linux 或 MariaDB Linux,灵活运行应用程序。只要拥有合适的访问权限和配置,成功连接MySQL Linux就变得快捷且简单。
要求
运行Linux(任何发行版)的云服务器。
安装并激活了LAMP协议栈(Apache、MySQL/MariaDB和PHP)。
如果你使用防火墙,必须允许访问MySQL/MariaDB服务器上的端口3306。
如何连接MySQL Linux
数据库通常连接到Linux云服务器,以灵活且大规模地运行应用程序。这种设置允许多个服务或网络应用访问相同的数据,而无需单独的本地安装。云服务器还简化了数据库管理、备份和安全更新。在本教程中,我们将向您展示如何在Linux服务器上搭建MySQL或MariaDB数据库,并用PHP脚本连接。
步骤1:创建样本数据库
在本教程中,我们将使用测试数据库。要创建一个,首先登录:
mysql -u root -p
用以下命令创建测试数据库:
CREATE DATABASE phptest;
现在切换到测试数据库:
USE phptest;
在这里创建一个简单的示例表。在我们的例子中,我们选择一个存放员工的表格:
CREATE TABLE employees (id INT, name VARCHAR(40));
现在再加两名员工:
INSERT INTO employees VALUES (1, "Alice");
INSERT INTO employees VALUES (2, "Bob");
为了验证记录是否正确创建,您可以使用以下SQL查询:
SELECT * FROM employees;
输出应该是这样的:
+------+-------+
| id | name |
+------+-------+
| 1 | Alice |
| 2 | Bob |
+------+-------+
2 rows in set (0,002 sec)
步骤2:创建MySQL/MariaDB用户
为了在保护数据库免受未授权连接的同时启用认证访问,现在你需要创建一个 MySQL/MariaDB 用户。为此,请再次使用MySQL/MariaDB客户端登录数据库服务器:
mysql -u root -p
以下命令创建用户并授予他们我们第一步创建数据库的权限:
CREATE USER [Username]@[Location] IDENTIFIED BY [Password];
GRANT ALL PRIVILEGES ON [DatabaseName].* TO [Username]@[Location];
FLUSH PRIVILEGES;
替换上述命令中的占位符:
[DatabaseName]用你们数据库的名字。
[Username]用你想为数据库创建的用户名。
[Location]其中 PHP 脚本的位置。如果 PHP 脚本和 MySQL 数据库在同一台服务器上,请使用 。否则,使用 PHP 脚本所在服务器的 IP 地址。localhost
[Password]为用户设置安全密码。
例如,要创建一个名为phpuser的用户,密码为Ig86N3tUa9,他位于与MySQL数据库同一服务器上,并且可以访问phptest数据库,命令应为:
CREATE USER 'phpuser'@'localhost' IDENTIFIED BY 'Ig86N3tUa9';
GRANT ALL PRIVILEGES ON phptest.* TO 'phpuser'@'localhost';
FLUSH PRIVILEGES;
要创建第二个名为phpuser2的用户,该用户从拥有该IP地址的服务器连接,请使用以下命令:192.168.0.1
CREATE USER 'phpuser2'@'192.168.0.1' IDENTIFIED BY 'Rq53yur62I';
GRANT ALL PRIVILEGES ON phptest.* TO 'phpuser2'@'192.168.0.1';
FLUSH PRIVILEGES;
步骤3:创建PHP脚本
为了验证你的PHP应用能否连接到Linux服务器上的数据库,你可以创建一个小型测试脚本。该脚本连接测试数据库,从表中获取数据,并在浏览器中显示。这可以让你确认用户、密码和主机配置正确,数据库是否可访问。
首先,创建测试脚本:
sudo nano /var/www/html/phpconnect.php
接下来,将以下内容插入文件中:






Welcome to the PHP Connect Test


$dbname = [DatabaseName];
$dbuser = [Username];
$dbpass = [Password];
$dbhost = [Location];
// Create connection
$connect = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if (!$connect) {
die("Connection failed: " . mysqli_connect_error());
}
// Fetch data
$result = mysqli_query($connect, "SELECT id, name FROM employees");
while ($row = mysqli_fetch_assoc($result)) {
echo "ID: {$row['id']} Name: {$row['name']}
";
}
mysqli_close($connect);
?>


HTML
用对应的数据替换 、 、 和。
例如,如果你想测试脚本与数据库在同一服务器上的本地连接,可以使用:UsernamePasswordLocationHostname
$dbuser = 'phpuser';
$dbpass = 'Ig86N3tUa9';
$dbhost = 'localhost';
为了验证与脚本的远程连接,当脚本位于与数据库不同的服务器时,给变量赋予以下数值:
$dbuser = 'phpuser2';
$dbpass = 'Rq53yur62I';
$dbhost = '192.168.0.2';
如何排查远程MySQL/MariaDB连接的问题
如果你的PHP应用或其他脚本无法连接到MySQL Linux,或者无法从另一台服务器连接到MariaDB Linux,可能会导致各种问题。以下解决方案可能有助于解决问题:
解决方案1:检查用户和权限
如果你在尝试连接MySQL Linux或连接另一台服务器的MariaDB Linux时遇到问题,首先检查以下几点:
你用的是正确的MySQL/MariaDB用户名和密码吗?
这个用户设置的位置是正确的吗?
默认情况下,MySQL/MariaDB 允许用户仅从创建时指定的主机登录。例如,如果你的用户是这样创建的:
CREATE USER 'phpuser'@'localhost' IDENTIFIED BY 'Ig86N3tUa9';
GRANT ALL PRIVILEGES ON phptest.* TO 'phpuser'@'localhost';
FLUSH PRIVILEGES;
那么登录只能在数据库运行的同一服务器上工作()。在不同服务器上的脚本必须为远程IP地址或(所有主机)设置用户。localhost%
解决方案2:命令行连接测试
在检查PHP脚本之前,你应该直接通过MySQL CLI测试连接。在脚本运行的服务器上,使用:
mysql -u [username] -h [host server IP address] -p
例如,使用用户名 phpuser2 连接到位于 192.168.0.2 的数据库,命令为:
mysql -u phpuser2 -h 192.168.0.2 -p
如果连接正常,这个命令会让你登录到远程服务器上的 MySQL/MariaDB 客户端。
解决方案三:防火墙
确保所有相关的防火墙规则都已更新,允许数据库服务器的3306端口使用TCP/UDP流量。请记住,所有云服务器都受Cloud Panel默认防火墙策略的约束。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    4078

    浏览量

    68524
  • PHP
    PHP
    +关注

    关注

    0

    文章

    463

    浏览量

    28799
  • MySQL
    +关注

    关注

    1

    文章

    928

    浏览量

    29739
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零基础如何用服务器搭建网站?完整教程

    上提供协助,帮助快速落地。 第一步:理解主要概念  在动手前,先了解几个名词:服务器是租用的虚拟主机资源;域名是用户访问网站的地址;DNS解析把域名指向服务器IP;Web服务器(如
    的头像 发表于 01-29 16:18 560次阅读

    恒讯科技解析:如何安装MySQL并创建数据库

    安装和管理MySQL不必复杂。只需几分钟,你就能在Linux服务器上搭建MySQL,创建第一个数据库,甚至自动化备份——同时确保
    的头像 发表于 01-14 14:25 330次阅读

    Node-RED+Modbus_slave:JSON数据采集与阿里服务器上传

    MYSQL数据库中。在参照本文档进行操作时,请先参照附录1和附录3搭建所需实验环境。 1.2注意事项 本文档不单单适用于阿里TCP服务器,也适用于其他TCP
    的头像 发表于 01-05 17:37 909次阅读
    Node-RED+Modbus_slave:JSON<b class='flag-5'>数据</b>采集与阿里<b class='flag-5'>云</b><b class='flag-5'>服务器</b>上传

    服务器远程连接超时以及拒绝连接的真实缘由和解决办法

    ,这类问题在Linux的SSH、Windows的RDP、数据库连接以及API接口访问中都挺常见。 最常见的情形包含:SSH没办法连接服务器
    的头像 发表于 11-19 15:34 1553次阅读

    恒讯科技解析:如何在日本服务器上安装和配置数据库(如MySQL)?

    为您的业务部署日本服务器后,下一个关键步骤就是安装和配置数据库。无论是用于网站、应用程序还是数据分析,一个稳定高效的数据库是业务的核心。恒讯科技将以最流行的
    的头像 发表于 11-04 11:07 790次阅读

    华纳香港服务器数据库索引优化策略

    )实施有效的索引优化策略。无论您是IT管理员还是开发人员,了解这些技巧都能帮助您优化数据库效率,确保业务高效运转。下面,华纳(hncloud)通过结构化分析,一步步解析香港服务器
    的头像 发表于 10-16 17:06 617次阅读

    SSH 远程连接内网 Linux 服务器

    利用 ZeroNews,您可对用内网的 Linux 服务器进行统一的 SSH 远程连接管理,当用户外出时,可通过 ZeroNews 分配的公网域名地址,快速访问企业内部、家庭的 Linux
    的头像 发表于 09-17 19:52 572次阅读
    SSH 远程<b class='flag-5'>连接</b>内网 <b class='flag-5'>Linux</b> <b class='flag-5'>服务器</b>

    mysql数据恢复—mysql数据库表被truncate的数据恢复案例

    ECS网站服务器linux操作系统,部署了mysql数据库。工作人员在执行数据库版本更新测
    的头像 发表于 09-11 09:28 1165次阅读
    <b class='flag-5'>mysql</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>mysql</b><b class='flag-5'>数据库</b>表被truncate的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库服务器意外断电导致数据库报错,报错内容为“system01.dbf需要
    的头像 发表于 07-24 11:12 827次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>服务器</b>异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    企业级MySQL数据库管理指南

    在当今数字化时代,MySQL作为全球最受欢迎的开源关系型数据库,承载着企业核心业务数据的存储与处理。作为数据库管理员(DBA),掌握MySQL
    的头像 发表于 07-09 09:50 866次阅读

    远程访问内网MySQL数据库?这个方案更简单

    各位开发者朋友们,是否还在为无法随时随地访问内网MySQL数据库而烦恼?今天分享一个超实用的方法,通过容器部署 MySQL 结合 ZeroNews 内网穿透,让你在任何地方都能安全访问和管理
    的头像 发表于 07-04 18:06 991次阅读
    远程访问内网<b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>?这个方案更简单

    MySQL数据库采集网关是什么?有什么功能?

    MySQL数据库采集网关是一种用于连接、采集、处理并传输数据MySQL数据库的中间设备或软件系
    的头像 发表于 05-26 15:20 797次阅读

    PLC数据中台对接到MySQL数据库并对接到生产看板

    生产任务的先后顺序和时间节点,优化生产资源的配置,确保生产过程的高效运行。 对此,数之能提供PLC数据中台对接到MySQL数据库和生产看板的解决方案,助力企业实现提质增效与智能管控。其
    的头像 发表于 05-26 11:20 637次阅读
    PLC<b class='flag-5'>数据</b>中台对<b class='flag-5'>接到</b><b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>并对<b class='flag-5'>接到</b>生产看板

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行
    的头像 发表于 05-23 09:18 1420次阅读

    服务器数据恢复—Linux系统服务器崩溃的数据恢复案例

    服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障:
    的头像 发表于 05-20 15:46 989次阅读