游客cl2j2jre6pwcs_个人页

游客cl2j2jre6pwcs
0
1
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 提交了问题 2018-07-09

    请问企业现在只有统一社会信用代码了应该选择什么备案

  • 回答了问题 2018-06-21

    数据迁移失败

    详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。 本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。 迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下: 结构迁移 数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。 全量数据迁移 全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。 如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。 增量数据迁移 增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。 迁移限制 迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失 迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下: 迁移类型 结构迁移 全量迁移 增量迁移 本地 MySQL 实例 select select superselectreplication slavereplication client 目标端 RDS for MySQL 实例 读写权限 读写权限 读写权限 迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下: 结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移 如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。 迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。 RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。 数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。 对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。 迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。 如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。 如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。 其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。 确认源库的 binlog 是否开启。 如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。 开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。 确认源库的 binlog 格式为 row 模式。 使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。 当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。 当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。 如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。 迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。 进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。 在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中: 任务名称 默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。 源实例连接信息 实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码 目标 RDS for MySQL 实例连接信息。 实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码 迁移对象及迁移类型配置。 迁移类型 DTS 支持 结构迁移、全量数据迁移、增量数据迁移。 如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。 如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。 迁移对象 迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。 默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。 当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤 预检查。 在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。 如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。 启动迁移任务。 当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。 增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。 至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。
    踩1 评论0
  • 回答了问题 2018-04-26

    换成php5

    详细解答可以参考官方帮助文档    有些 PHP程序会对 PHP 版本有要求。比如需要 PHP5.3及以上,云虚拟主机可以支持到 PHP5.5,可以在云虚拟主机管理控制台修改。 如下图位置,修改后需要2-5分钟生效。   如问题还未解决,请联系售后技术支持。    
    踩1 评论0
  • 提交了问题 2018-04-25

    无法连接数据库

  • 回答了问题 2018-03-13

    OSS MEDIA C SDK 关闭HLS文件

    详细解答可以参考官方帮助文档OSS MEDIA C SDK 客户端部分支持将接收到的H.264、AAC格式封装为TS、M3U8格式,然后写到OSS上,用户通过对应的m3u8地址就可以欣赏视频音频了。 接口 HLS相关基础接口都位于oss_media_hls.h中,目前提供的接口有: oss_media_hls_open oss_media_hls_write_frame oss_media_hls_begin_m3u8 oss_media_hls_write_m3u8 oss_media_hls_end_m3u8 oss_media_hls_flush oss_media_hls_close 下面详细介绍各个接口的功能和注意事项 基础结构体介绍 /** * OSS MEDIA HLS FRAME的元数据 */ typedef struct oss_media_hls_frame_s { stream_type_t stream_type; frame_type_t frame_type; uint64_t pts; uint64_t dts; uint32_t continuity_counter; uint8_t key:1; uint8_t *pos; uint8_t *end; } oss_media_hls_frame_t; /** * OSS MEDIA HLS的描述信息 */ typedef struct oss_media_hls_options_s { uint16_t video_pid; uint16_t audio_pid; uint32_t hls_delay_ms; uint8_t encrypt:1; char key[OSS_MEDIA_HLS_ENCRYPT_KEY_SIZE]; file_handler_fn_t handler_func; uint16_t pat_interval_frame_count; } oss_media_hls_options_t; /** * OSS MEDIA HLS FILE的描述信息 */ typedef struct oss_media_hls_file_s { oss_media_file_t *file; oss_media_hls_buf_t *buffer; oss_media_hls_options_t options; int64_t frame_count; } oss_media_hls_file_t; 注: stream_type,流类型, 目前支持st_h264和st_aac两种 frame_type,帧类型,目前支持ft_non_idr,ft_idr,ft_sei,ft_sps,ft_pps,ft_aud等 pts,显示时间戳 dts,解码时间戳 continuity_counter,递增计数器,从0-15,起始值不一定取0,但必须是连续的 key,是否是关键帧 pos,当前帧数据的起始位置(含) end,当前帧数据的结束位置(不含) video_pid,视频的pid audio_pid,音频的pid hls_delay_ms,显示延迟毫秒数 encrypt,是否使用AES-128加密,目前暂不支持 key,使用加密时的秘钥,目前暂不支持 handler_func,文件操作回调函数 pat_interval_frame_count,隔多少帧插入一个pat,mpt表 打开HLS文件 /** * @brief 打开一个OSS HLS文件 * @param[in] bucket_name oss上存储文件的存储空间名称 * @param[in] object_key oss上的文件名称 * @param[in] auth_func 授权函数,设置access_key_id/access_key_secret等 * @return: * 返回非NULL时成功,否则失败 */ oss_media_hls_file_t* oss_media_hls_open(char *bucket_name, char *object_key, auth_fn_t auth_func); 注: 示例代码参考:GitHub 关闭HLS文件 /** * @brief 关闭OSS HLS文件 */ int oss_media_hls_close(oss_media_hls_file_t *file); 注: 示例代码参考:GitHub 写HLS文件 /** * @brief 写H.264或者AAC的一帧数据到oss上 * @param[in] frame h.264或者aac格式的一帧数据 * @param[out] file hls file * @return: * 返回0时表示成功 * 否则, 表示出现了错误 */ int oss_media_hls_write_frame(oss_media_hls_frame_t *frame, oss_media_hls_file_t *file); 示例程序: static void write_frame(oss_media_hls_file_t *file) { oss_media_hls_frame_t frame; FILE *file_h264; uint8_t *buf_h264; int len_h264, i; int cur_pos = -1; int last_pos = -1; int video_frame_rate = 30; int max_size = 10 * 1024 * 1024; char *h264_file_name = '/path/to/example.h264'; /* 读取H.264文件 */ buf_h264 = calloc(max_size, 1); file_h264 = fopen(h264_file_name, 'r'); len_h264 = fread(buf_h264, 1, max_size, file_h264); /* 初始化frame结构体 */ frame.stream_type = st_h264; frame.pts = 0; frame.continuity_counter = 1; frame.key = 1; /* 遍历H.264的数据,抽取出每帧数据,然后写入oss */ for (i = 0; i last_pos) { frame.pts += 90000 / video_frame_rate; frame.dts = frame.pts; frame.pos = buf_h264 + last_pos; frame.end = buf_h264 + cur_pos; oss_media_hls_write_frame(&frame, file); } last_pos = cur_pos; } /* 关闭文件,释放资源 */ fclose(file_h264); free(buf_h264); } 注: 示例代码参考:GitHub 如果H.264的数据中缺少Access Unit Delimiter NALs(00 00 00 01 09 xx),需要添加这个NAL,否则无法在ipad,iphone,safari上播放 H.264的帧是通过0xX0,0x00,0x00,0x01分隔的;AAC的帧是通过0xFF,0x0X分隔的; 当前帧为关键帧时,frame.key需要设置为1 写M3U8文件 /** * @brief 写M3U8文件的头部数据 * @param[in] max_duration TS文件最长持续时间 * @param[in] sequence TS文件起始编号 * @param[out] file m3u8 file * @return: * 返回0时表示成功 * 否则, 返回-1时表示出现了错误 */ void oss_media_hls_begin_m3u8(int32_t max_duration, int32_t sequence, oss_media_hls_file_t *file); /** * @brief 写M3U8文件数据 * @param[in] size m3u8 item个数 * @param[in] m3u8 m3u8 item的详细数据 * @param[out] file m3u8 file * @return: * 返回0时表示成功 * 否则, 返回-1时表示出现了错误 */ int oss_media_hls_write_m3u8(int size, oss_media_hls_m3u8_info_t m3u8[], oss_media_hls_file_t *file); /** * @brief 写M3U8文件的结束符等数据 * @param[out] file m3u8 file */ void oss_media_hls_end_m3u8(oss_media_hls_file_t *file); 示例程序: static void write_m3u8() { char *bucket_name; char *key; oss_media_hls_file_t *file; bucket_name = ''; key = ''; /* 打开一个HLS文件用来写M3U8格式的数据,文件名必须以.m3u8结尾 */ file = oss_media_hls_open(bucket_name, key, auth_func); if (file == NULL) { printf('open m3u8 file[%s] failed.', key); return; } /* 构造3个ts格式文件的信息 */ oss_media_hls_m3u8_info_t m3u8[3]; m3u8[0].duration = 9; memcpy(m3u8[0].url, 'video-0.ts', strlen('video-0.ts')); m3u8[1].duration = 10; memcpy(m3u8[1].url, 'video-1.ts', strlen('video-1.ts')); /* 写入M3U8文件 oss_media_hls_begin_m3u8(10, 0, file); oss_media_hls_write_m3u8(2, m3u8, file); oss_media_hls_end_m3u8(file); /* 关闭HLS文件 */ oss_media_hls_close(file); printf('write m3u8 to oss file succeeded\n'); } 注: 目前使用的M3U8版本是3 如果是录播,需要在结束的时候调用oss_media_hls_end_m3u8(file)接口写入结束符,否则可能无法播放;如果是直播,则不能调用此接口 示例代码参考:GitHub 可以通过示例程序观看效果 Windows平台可以通过VLC播放器观看,iPhone,iPad,Mac等可以直接使用Safari观看。
    踩1 评论0
  • 提交了问题 2018-02-24

    怎样指定Object被下载时的内容语言编码

  • 提交了问题 2018-02-08

    案例 6:允许公网通过HTTP、HTTPS等服务访问实例

  • 提交了问题 2018-01-17

    对象存储 OSS使用RAM和STS服务

  • 提交了问题 2017-12-21

    为什么没有收到通知,域名就被停了

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息