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

本文涉及的产品
.cn 域名,1个 12个月
视频直播,500GB 1个月
简介: 视频直播系统开发完成后,需要通过搭建环境配置、数据库创建、程序部署等流程来实现最终的系统搭建部署,上线运营。

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

一、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

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

相关文章
|
5月前
|
中间件 关系型数据库 Java
MySQL数据库分库分表方案
MySQL数据库分库分表方案
270 0
MySQL数据库分库分表方案
|
1月前
|
消息中间件 canal 缓存
项目实战:一步步实现高效缓存与数据库的数据一致性方案
Hello,大家好!我是热爱分享技术的小米。今天探讨在个人项目中如何保证数据一致性,尤其是在缓存与数据库同步时面临的挑战。文中介绍了常见的CacheAside模式,以及结合消息队列和请求串行化的方法,确保数据一致性。通过不同方案的分析,希望能给大家带来启发。如果你对这些技术感兴趣,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
98 6
项目实战:一步步实现高效缓存与数据库的数据一致性方案
|
1月前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
2月前
|
关系型数据库 MySQL 数据库
|
2月前
|
存储 机器学习/深度学习 自然语言处理
LangChain与向量数据库:高效的信息检索方案
【8月更文第4天】随着自然语言处理技术的发展,特别是深度学习的进步,我们能够更加高效地处理大量的文本数据。LangChain 作为一种强大的工具链,旨在简化和加速构建复杂的自然语言处理应用程序。结合向量数据库,LangChain 可以实现高效且精准的信息检索功能。本文将探讨这一组合的工作原理,并通过一个具体的实现案例来展示其在实际应用中的效果。
372 2
|
1月前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
243 14
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
3月前
|
关系型数据库 MySQL 数据库
|
4月前
|
canal 缓存 关系型数据库
高并发场景下,6种方案,保证缓存和数据库的最终一致性!
在解决缓存一致性的过程中,有多种途径可以保证缓存的最终一致性,应该根据场景来设计合适的方案,读多写少的场景下,可以选择采用“Cache-Aside结合消费数据库日志做补偿”的方案,写多的场景下,可以选择采用“Write-Through结合分布式锁”的方案,写多的极端场景下,可以选择采用“Write-Behind”的方案。
1047 0
|
5月前
|
存储 SQL NoSQL
关系数据库与非关系数据库:选择适当的数据存储方案
关系数据库与非关系数据库:选择适当的数据存储方案
|
5月前
|
SQL 存储 关系型数据库
向 MySQL 数据库插入 100w 条数据的优化方案
向 MySQL 数据库插入 100w 条数据的优化方案
105 1