当前位置: 首页 > article >正文

如何让其他人连接到我们的数据库、进行项目前后端分离

如何让其他人连接到我们的数据库

1. 配置 MySQL 服务器

允许远程连接:
找到 MySQL 的配置文件(通常是 my.cnf 或 my.ini),路径因操作系统而异。
打开配置文件并查找以下行:

bind-address = 127.0.0.1
将其更改为:
bind-address = 0.0.0.0

或者注释掉这一行(加上 #),以允许 MySQL 监听所有 IP 地址。
重启 MySQL 服务:
在修改配置文件后,您需要重启 MySQL 服务以使更改生效。
在 Linux 上,您可以使用以下命令:
sudo systemctl restart mysql
在 Windows 上,您可以通过服务管理工具重启 MySQL 服务。

2. 创建用户并授予权限

使用 MySQL Workbench 或命令行:
首先,连接到 MySQL 数据库。
创建一个新的用户,并允许其从特定主机或任何主机连接:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';  -- '%' 

授予权限:
之后,授予该用户所需的权限:

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';

如果您只想允许该用户访问特定的数据库,可以替换 database_name 为您的数据库名称。
刷新权限:
最后,运行以下命令以确保权限更改生效:

FLUSH PRIVILEGES

3. 配置防火墙

允许 MySQL 端口:
如果您的服务器有防火墙(如 iptables、UFW 或 Windows 防火墙),您需要确保允许 MySQL 的默认端口(通常是 3306)通过防火墙。
在 Linux 上,您可以使用以下命令(以 UFW 为例):
sudo ufw allow 3306/tcp
在 Windows 上,您需要在防火墙设置中添加一个入站规则,允许 TCP 端口 3306。

4. 测试连接

让其他人连接:
其他人可以使用 MySQL 客户端(如 MySQL Workbench、命令行或其他数据库管理工具)使用以下信息连接:
主机名/IP 地址:您的服务器 IP 地址或域名
用户名:您创建的 MySQL 用户名
密码:您为该用户设置的密码
端口:默认是 3306(如果没有更改)

进行项目前后端分离

1. 项目结构

前端:使用框架如 Vue.js、React 或 Angular。
后端:使用 Node.js、Django、Spring Boot 等技术栈。
确保前后端应用分别部署在不同的服务或端口上,这样会导致跨域请求。

2. 设计 RESTful API

确保后端 API 遵循 RESTful 设计,以便前端可以通过 HTTP 方法(GET、POST、PUT、DELETE)访问。

3. 处理跨域请求

使用 CORS(跨域资源共享)

在后端配置 CORS,以允许特定的来源访问 API。以下是不同后端框架的示例配置:

Node.js(Express):

const express = require('express');
const cors = require('cors');

const app = express();

// 允许特定来源
app.use(cors({
  origin: 'http://localhost:3000', // 前端地址
  methods: ['GET', 'POST', 'PUT', 'DELETE'],
  credentials: true // 允许携带凭据
}));

app.listen(5000, () => {
  console.log('Server is running on port 5000');
});

http://www.kler.cn/a/388811.html

相关文章:

  • OLED 显示画面的变换操作——上下、左右翻转
  • 数据库MySQL索引详解
  • 2024最新版JavaScript逆向爬虫教程-------基础篇之Chrome开发者工具学习
  • 【Java开发】Vue的那些小事(一)
  • 最新网盘资源搜索系统,电视直播,Alist聚合播放
  • kafka如何知道哪个消费者消费哪个分区?
  • Elasticsearch+kibana+filebeat的安装及使用
  • 刘卫国MATLAB程序设计与应用课后答案PDF第三版
  • SQL--查询连续三天登录数据详解
  • Windows命令行常用快捷指令
  • react 组件应用
  • 电子电气架构 --- 基于以太网的车载网络协议的描述
  • PHP字符串变量
  • 【ARM】MDK-E203 Undefined identifier
  • 青少年编程与数学 02-003 Go语言网络编程 14课题、Go语言Udp编程
  • MFC中Excel的导入以及使用步骤
  • 模型 用户画像
  • 原子操作 std::atomic
  • M芯片Mac构建Dockerfile - 注意事项
  • 华为OD机试 - 称砝码 (Java 2024 E卷 100分)
  • 利用Langchain构建网页内容摘要Agent
  • 【日记】总感觉搞这些才回到了自己的老本行……(1179 字)
  • IDE使用技巧与插件推荐:提升开发效率的秘籍
  • 【01课_初识算法与数据结构】
  • 2024 United Kingdom and Ireland Programming Contest (AIKL)
  • 【初阶数据结构与算法】沉浸式刷题之顺序表练习(顺序表以及双指针两种方法)