视频直播系统开发中的数据库创建方案

简介: 视频直播系统开发完成后,需要通过搭建环境配置、数据库创建、程序部署等流程来实现最终的系统搭建部署,上线运营。

我们之前为大家介绍过直播平台搭建中的服务器环境配置流程。我们今天介绍下视频直播平台开发搭建中数据库该如何创建?

一、phpMyAdmin一键搭建插件

vim /etc/my.cnf

在my.cnf 里面设置

添加语句

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

访问

http://你的ip地址/phpMyAdmin/

5a78046701fa169b7e0e23ec4631d0bd8c15afbb 

二、创建数据库相关信息

主要包括视频直播平台的数据库用户名、数据库名称、设置密码信息等。

e3917364310257d4d44b1fe1d017e69a6c0fce6c 

上传之前,需要把源码中的/root/backups/temp/数据库名_时间戳.sql文件中的域名替换,

替换为:www.***.com(***指的是自己的域名);设置云服务器加速域名,例如腾讯云加速域名等。

c910bd7770ba88838f3e3c1bf33933786cbedda6 

46fe30510e88a74680247e6efd58ad8fe3b831b3

三、导入附近这个函数

getDistance.sql

内容如下:

Function structure for getDistance

DROP FUNCTION IF EXISTS `getDistance`;

delimiter ;;

CREATE DEFINER=`phonelive`@`%` FUNCTION `getDistance`(lat1 FLOAT, lon1 FLOAT, lat2 FLOAT, lon2 FLOAT) RETURNS float

    DETERMINISTIC

BEGIN

    RETURN ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN((lat1 * PI() / 180 - lat2 * PI() / 180) / 2), 2)

           + COS(lat1 * PI() / 180) * COS(lat2 * PI() / 180)

           * POW(SIN(( lon1 * PI() / 180 - lon2 * PI() / 180 ) / 2),2))),2);

END

;;

delimiter ;

SET FOREIGN_KEY_CHECKS = 1;

注意:内容中的phonelive是对应用户名,比如您的用户名live,CREATE DEFINER=`live`@`%` FUNCTION

四、WEB站点搭建

1.在oneinstack目录下添加虚拟机

cd ~/oneinstack

./vhost.sh

选项选择

1.选择1 ,Use HTTP Only

2.然后输入域名

3.输入网站的文件目录,直接回车就行

4.然后添加其他域名,有的话就输入 y ,没有就输入 n

5.是否添加防盗链,输入n

Do you want to add hotlink protection? [y/n]: n

6.Allow Rewrite rule? [y/n]: y

7.输入 y ,开启日志

Allow Nginx/Tengine/OpenResty access_log? [y/n]: y

8.Allow Rewrite rule? [y/n]: y

Please input the rewrite of programme :

wordpress,opencart,magento2,drupal,joomla,laravel,thinkphp,discuz,typecho,ecshop rewrite was exist.

(Default rewrite: other): thinkphp

五、Nginx thinkphp 静态化

1、修改/usr/local/nginx/conf/rewrite/thinkphp.conf,

vim /usr/local/nginx/conf/rewrite/thinkphp.conf

文件内容如下;

location / {

    if (!-e $request_filename) {

      

        rewrite ^(.*)$ /index.php?s=$1 last;

        break;

    }

}

修改为

location / {

    if (!-e $request_filename) {

       rewrite ^/([0-9]+)$ /index.php?m=Show&a=index&roomnum=$1 last;

       #rewrite ^(.*)$ /index.php?s=$1 last;

        rewrite ^(.*)$ /index.php?s=$1 last;

        break;

    }

}

2、然后创建pathinfo.conf文件

touch /usr/local/nginx/conf/pathinfo.conf

vim /usr/local/nginx/conf/pathinfo.conf

然后输入以下内容并保存

set $real_script_name $fastcgi_script_name;

if ($fastcgi_script_name ~ "(.+?\.php)(/.*)") {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

fastcgi_param SCRIPT_NAME $real_script_name;

fastcgi_param PATH_INFO $path_info;

3、然后编辑 /usr/local/nginx/conf/vhost/您的域名.conf 文件,

vim /usr/local/nginx/conf/vhost/您的域名.conf

编辑文件如下.

location ~ \.php {

#fastcgi_pass remote_php_ip:9000;

fastcgi_pass unix:/dev/shm/php-cgi.sock;

fastcgi_index index.php;

# include fastcgi_params;

include fastcgi.conf;

}

在include fastcgi.conf; 下面加入一句

include pathinfo.conf;

然后修改/usr/local/php/etc/php.ini,搜索cgi.fix_pathinfo.把值从0改成1.

vim /usr/local/php/etc/php.ini

cgi.fix_pathinfo=1

通过以上步骤即可实现视频直播平台的数据库创建。在完成了搭建换将配置及数据库创建之后,接下来就可以通过视频直播源码进行程序的部署和调试了。我们晚些时候会整理出视频直播程序的部署流程。

相关文章
|
中间件 关系型数据库 Java
MySQL数据库分库分表方案
MySQL数据库分库分表方案
547 0
MySQL数据库分库分表方案
|
6月前
|
SQL 关系型数据库 数据库
【YashanDB知识库】OM仲裁节点故障后手工切换方案和yasom仲裁重新部署后重新纳管数据库集群方案
本文介绍了主备数据库集群的部署、OM仲裁故障切换及重新纳管的全过程。首先通过解压软件包并调整安装参数完成数据库集群部署,接着说明了在OM仲裁故障时的手动切换方案,包括关闭自动切换开关、登录备节点执行切换命令。最后详细描述了搭建新的yasom仲裁节点以重新纳管数据库集群的步骤,如生成配置文件、初始化进程、执行托管命令等,确保新旧系统无缝衔接,保障数据服务稳定性。
|
消息中间件 canal 缓存
项目实战:一步步实现高效缓存与数据库的数据一致性方案
Hello,大家好!我是热爱分享技术的小米。今天探讨在个人项目中如何保证数据一致性,尤其是在缓存与数据库同步时面临的挑战。文中介绍了常见的CacheAside模式,以及结合消息队列和请求串行化的方法,确保数据一致性。通过不同方案的分析,希望能给大家带来启发。如果你对这些技术感兴趣,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
522 6
项目实战:一步步实现高效缓存与数据库的数据一致性方案
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
6月前
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
6月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
关系型数据库 MySQL 数据库
|
存储 机器学习/深度学习 自然语言处理
LangChain与向量数据库:高效的信息检索方案
【8月更文第4天】随着自然语言处理技术的发展,特别是深度学习的进步,我们能够更加高效地处理大量的文本数据。LangChain 作为一种强大的工具链,旨在简化和加速构建复杂的自然语言处理应用程序。结合向量数据库,LangChain 可以实现高效且精准的信息检索功能。本文将探讨这一组合的工作原理,并通过一个具体的实现案例来展示其在实际应用中的效果。
1088 2
|
7月前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
258 9
|
7月前
|
SQL 关系型数据库 数据库
【YashanDB 知识库】OM 仲裁节点故障后手工切换方案和 yasom 仲裁重新部署后重新纳管数据库集群方案
本文介绍了一主一备数据库集群的部署步骤。首先在OM节点上传并解压软件包至指定路径,随后通过调整安装参数、执行安装和集群部署完成数据库设置。接着,在主备节点分别配置环境变量,并查看数据库状态以确认安装成功。最后,针对OM仲裁故障提供了手动切换方案,包括构造故障场景、关闭自动切换开关及使用SQL命令进行主备切换,确保系统高可用性。