云服务器搭载mysql
时间: 2023-10-30 22:00:55 浏览: 112
云服务器上搭载MySQL的具体步骤如下:
1. 首先,在云服务器中下载MySQL安装包。您可以在浏览器中输入下载地址进行下载。
2. 安装MySQL,按照安装包的指示进行安装过程。
3. 安装完成后,设置MySQL的密码,以保护您的数据库。
4. 接下来,需要开放3306端口,以便其他设备能够连接到MySQL服务器。您可以通过配置防火墙来实现此目的。
5. 确保MySQL默认编码为utf8,以支持多语言字符集。
6. 最后,在您使用的IDE(如IDEA)中连接MySQL,配置正确的连接参数即可。
相关问题
Linux搭载mysql
### 如何在Linux上安装和配置MySQL
#### 准备工作
为了确保顺利安装,建议先更新系统的软件包列表。对于基于Debian的系统,可以使用如下命令来保持软件包列表是最新的:
```bash
sudo apt update
```
这一步骤有助于获取最新的版本信息以及依赖关系。
#### 安装MySQL服务器
接着通过APT工具安装`mysql-server`,这是官方推荐的方式之一,在大多数情况下能够自动处理必要的依赖项[^2]。
```bash
sudo apt install mysql-server
```
#### 创建MySQL专用用户与组
出于安全考虑,应该为MySQL服务创建独立的操作系统级账户及其所属群组。这样做的好处是可以更好地控制访问权限,并减少潜在的安全风险。
```bash
/usr/sbin/groupadd mysql
/usr/sbin/useradd -r -g mysql mysql
```
这里指定了选项 `-r` 表明这是一个系统账号;而 `-g` 则用于指定新用户的初始登陆组名。
#### 解压并设置目录结构
当采用源码分发版时,则需手动解压缩下载好的归档文件至目标位置,并建立软链接以便于管理不同版本间的切换操作。
```bash
tar xf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv mysql-5.7.36-linux-glibc2.12-x86_64/ mysql
chown -R mysql:mysql mysql/*
```
上述指令完成了将特定版本号的MySQL程序集放置到了 `/usr/local/mysql` 下的工作。
#### 初始化数据库实例
首次启动之前还需要初始化数据目录,同时指定运行身份和服务端参数文件的位置。
```bash
/usr/local/mysql/bin/mysqld --datadir=/usr/local/mysql/data
```
这条语句会自动生成默认配置所需的各类表空间及相关元数据对象。
#### 调整存储路径及权限分配
考虑到性能优化或是磁盘布局的需求,可能希望更改日志记录或数据存放的具体地点。此时就需要提前准备好相应的物理文件夹,并调整其所有权属性给刚才新建的那个特殊用途的服务进程所有者。
```bash
mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
chown mysql:mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/
```
此处分别建立了两个子目录用来保存二进制变更历史(`binlog`)和其他实际业务产生的持久化资料(`data_mysql`)。
#### 编辑主配置文件
最后要编辑一份名为 `my.cnf` 的全局设定文档,它决定了整个集群的行为模式、资源限额以及其他重要的策略细节。通常位于 `/etc/my.cnf.d/` 或相似的地方取决于具体发行版的习惯做法。
#### 修改临时密码
初次登录之后可能会遇到强制重置密码的要求,这是因为系统出于安全性考量预设了一串随机字符串作为初期认证凭证。可以通过下面的方法快速解决这个问题:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
```
请注意替换 `'new_password'` 为你自己想要设立的新口令。
#### 开启远程访问支持
为了让其他机器上的客户端也能正常连接本机部署的服务端节点,还需进一步放宽主机地址限制条件。
```sql
UPDATE user SET host='%' WHERE User = 'root';
FLUSH PRIVILEGES;
```
这段SQL脚本的作用就是把管理员角色所能接受请求来源范围扩大到任意IP地址。
STM32cubemx配置JDY31蓝牙模块小车须具备蓝牙或 WIFI 与上位机通信、传递遥控或采集数据的功能; 采集数据(如温湿度)存放到上位机(手机、或树莓派、或笔记本 Ubuntu 任选 一),上位机再将数据存放到云端服务器的 MySQL 数据库中。
### 配置STM32CubeMX与JDY31蓝牙模块实现小车远程控制和数据传输
#### 一、硬件准备
为了完成此项目,需准备好如下材料:
- STM32F103C8T6开发板及其配套工具链;
- JDY31蓝牙模块;
- 小车底盘及相关驱动电机;
- 树莓派作为服务器端运行Ubuntu操作系统并部署MySQL数据库。
#### 二、STM32CubeMX配置
在STM32CubeMX中设置UART接口用于连接JDY31蓝牙模块。具体操作是在Pinout&Configuration界面选择USART外设,并将其模式设定为Asynchronous异步通讯模式[^3]:
```c
/* UART3 init function */
static void MX_UART3_Init(void)
{
huart3.Instance = USART3;
huart3.Init.BaudRate = 9600; // 设置波特率为9600bps
huart3.Init.WordLength = UART_WORDLENGTH_8B;
huart3.Init.StopBits = UART_STOPBITS_1;
huart3.Init.Parity = UART_PARITY_NONE;
huart3.Init.Mode = UART_MODE_TX_RX;
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart3) != HAL_OK)
{
Error_Handler();
}
}
```
#### 三、树莓派搭建云平台
安装LAMP环境(Linux, Apache, MySQL, PHP),并将收集到的数据存入MySQL数据库中。创建一个新的数据库表来保存传感器读数和其他重要参数。例如,在PHPMyAdmin中执行SQL语句创建名为`car_data`的新表格:
```sql
CREATE TABLE car_data (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
temperature VARCHAR(30),
humidity VARCHAR(30),
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
```
#### 四、手机APP开发
利用Android Studio或其他移动应用框架构建简单的客户端应用程序,该程序能够发送命令给小车上搭载的STM32控制器并通过Bluetooth SPP协议接收返回的状态报告。对于iOS设备,则可考虑采用Swift语言配合Core Bluetooth库来进行相似功能的设计。
#### 五、数据上传至云端
当接收到由STM32转发来的测量数值之后,可以通过HTTP POST请求的方式向位于Raspberry Pi上的Web Service提交这些信息。Python Flask是一个轻量级web框架非常适合用来处理这类任务。下面给出了一段简化版的服务端代码片段展示如何解析JSON格式的消息体并写入关系型数据库内:
```python
from flask import request, jsonify
import mysql.connector as mariadb
@app.route('/upload', methods=['POST'])
def upload():
content = request.get_json()
conn = mariadb.connect(user='root', password='', host='localhost', database='iot')
cursor = conn.cursor()
sql_insert_query = """ INSERT INTO `car_data`
(`temperature`, `humidity`) VALUES (%s,%s)"""
insert_tuple = (content['temp'], content['humi'])
result = cursor.execute(sql_insert_query,insert_tuple)
conn.commit()
return "Record inserted successfully into python_users table"
```
阅读全文
相关推荐















