一、LighthouseDB介绍
LighthouseDB轻量数据库服务基于腾讯云自研的新一代云原生数据库 TDSQL-C,融合了传统数据库、云计算与新硬件技术的优势,100%兼容 MySQL,实现超百万级 QPS 的高吞吐,128TB 海量分布式智能存储,保障数据安全可靠。
二、、LighthouseDB 产品特性
● 100%兼容 MySQL:100%兼容开源数据库引擎 MySQL。
● 超高性能:单节点百万 QPS 的超高性能,满足高并发场景
● 快速恢复:计算节点实现无状态,支持本地和跨设备的秒级故障切换和恢复,支持基于快照的秒级备份和回档
● 管理简单:开箱即用,默认模板提供简化操作
● 数据高可靠:集群支持安全组和 VPC 网络隔离。自动维护数据和备份的多个副本,保障数据安全可靠,可靠性达99.9999999%。
● 超高性价比:提供固定规格套餐,共享式资源超低价格即可购买使用轻量数据库,性能远高于自建数据库
三、、选购配置介绍
产品官网:https://cloud.tencent.com/product/lighthousedb
打开产品官网,然后点击立即选购按钮。
然后进入选购界面,大家可以根据自己的需要选择适合自己的配置。
选购配置完成后,可以进入产品控制台,界面如下:
这里第一次进入可以修改数据库密码,方便后续操作。
点击左下角的登录按钮,会打开数据库管理页面,选择实例、数据库账户、密码点击登录按钮。
四、创建数据库
这时会进入数据库管理界面。我们点击库管理。
然后进入数据库管理界面。点击新建数据库按钮
弹出数据库新建界面,这里设置数据库名称、字符集、排序规则,然后点击确定按钮。
创建成功后可以看到新创建的数据库DBDemo出现在最下面的列表。
五、创建数据表
数据库创建后,我们可以新建数据表,界面如下:
然后切换到列信息标签页,添加数据表字段
创建表sql如下“:
CREATE TABLE `T_User` (
`Id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键自增',
`Name` varchar(20) DEFAULT '' COMMENT '姓名',
`Age` int DEFAULT NULL COMMENT '年龄',
`Address` varchar(100) DEFAULT '' COMMENT '住址',
`Hobby` varchar(100) DEFAULT '' COMMENT '兴趣爱好',
`Birthday` date DEFAULT NULL COMMENT '出生日期',
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='用户表'
SQL预览界面
SQL变更预览界面,确认没问题,我们点击确定按钮。
创建表成功后,我们可以新增一行记录。界面如下:
点击提交按钮会进入执行预览界面,确认后点击执行数据就插入成功了。当然也可以进行数据导入的方式。
六、创建视图
这里创建一个V_User的视图,查询年龄大于30的用户。
点击提交,进入新建视图确认的弹窗,然后点击确定按钮,视图就可以创建了。
视图创建后,可以执行sql语句,查看视图的数据。
七、创建函数
创建一个简单的求和函数
界面如下:
创建函数语句如下:
CREATE DEFINER=`root`@`%` FUNCTION `func_sum`(num1 INT, num2 INT) RETURNS int
DETERMINISTIC
COMMENT '新建求和函数'
BEGIN
DECLARE total INT;
SET total = num1 + num2;
RETURN total;
END
执行函数界面
八、开启远程访问
首先回到控制台界面,点击开启公网。
然后本地cmd 去ping域名获取公网ip
注意:数据库端口就是开启公网域名后的端口,不是默认的3306端口。
特别注意:外网访问仅用于开发或辅助管理数据库,业务访问请使用内网访问。
然后可以使用navicat进行访问
成功访问后。
九、C#集成案例测试
首先创建一个控制台程序LighthouseDBDemo ,net框架为4.7.2
然后安装第三方框架,这里主要需要mysql驱动和Dapper数据库orm框架。
打开nuget管理界面,安装mysql驱动,版本选择最新版8.0.31,
安装Dapper 框架这里也选择最新版本2.1.28,主要是用来查询和新增。
代码如下
这里主要体现了测试数据库连接、查询、新增操作,具体代码如下:
using Dapper;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LighthouseDBDemo
{
class Program
{
static void Main(string[] args)
{
string connectionStr = string.Format("data source={0};user id={1};password={2};database={3};port={4};pooling=false;charset=utf8;", "公网IP地址", "root", "12345678","DBDemo", "27452");
ConnectionTest(connectionStr);
GetSelectList(connectionStr);
InsertDemo(connectionStr);
Console.ReadKey();
}
/// <summary>
/// 判断数据库服务器是否连接成功
/// </summary>
/// <param name="conStr"></param>
/// <returns></returns>
public static void ConnectionTest(string conStr)
{
try
{
using (MySqlConnection connection = new MySqlConnection(conStr))
{
connection.Open();
connection.Close();
Console.WriteLine("数据库连接成功!");
}
}
catch (Exception ex)
{
Console.WriteLine("数据库连接失败!原因:"+ex.Message);
}
}
/// <summary>
/// 查询测试
/// </summary>
/// <param name="conStr"></param>
/// <returns></returns>
public static void GetSelectList(string conStr)
{
string sql = "select name from T_User ";
try
{
using (MySqlConnection connection = new MySqlConnection(conStr))
{
var list = connection.Query<string>(sql).ToList();
if (list.Any())
{
foreach (var item in list)
{
Console.WriteLine(item);
}
}
}
}
catch(Exception ex)
{
Console.WriteLine("查询失败!原因:" + ex.Message);
}
}
/// <summary>
/// 数据插入测试
/// </summary>
/// <param name="conStr"></param>
public static void InsertDemo(string conStr)
{
string sql = "INSERT INTO `DBDemo`.`T_User` (`Name`, `Age`, `Address`, `Hobby`, `Birthday`) VALUES ('小刘', 28, '江苏徐州', '听歌', '1996-08-05') ";
try
{
using (MySqlConnection connection = new MySqlConnection(conStr))
{
int count = connection.Execute(sql);
if (count > 0)
{
Console.WriteLine("数据插入成功!");
}
}
}
catch (Exception ex)
{
Console.WriteLine("查询失败!原因:" + ex.Message);
}
}
}
}
然后运行项目,执行效果界面如下:
打开数据库客户端查看
测试数据是ok,这个只是一个简单的demo,大家可以根据实际需要进行调整。