• 关于

    _更新和删除用户信息

    的搜索结果

回答

详细解答可以参考官方帮助文档C SDK 开发包OSS C SDK最新版本点击查看 OSS C SDK开发包(2017-02-22)版本3.4.0下载地址: Linux: aliyun_oss_c_sdk_v3.4.0.tar.gzWindows: aliyun_oss_c_sdk_v3.4.0.zip 更新日志: 添加:支持并发断点续传上传oss_resumable_upload_file修复:oss_gen_signed_url支持临时用户签名修复:初始化默认不打开fd 2,退出时不关闭fd 2修复:解决key为xxx/./yyy/,./async_test/test报SignatureDoesNotMatch的问题 OSS C SDK开发包(2016-12-22)版本3.3.0下载地址: Linux: aliyun_oss_c_sdk_v3.3.0.tar.gzWindows: aliyun_oss_c_sdk_v3.3.0.zip 更新日志: 添加:支持代理Proxy修复:oss_get_object_to_file先下载到本地临时文件,成功后修改文件名称修复:去除Visual Studio编译警告aos_util.c(512) C4146修复:URL上传下载添加CRC校验 OSS C SDK开发包(2016-11-22)版本3.2.1下载地址: Linux: aliyun_oss_c_sdk_v3.2.1.tar.gzWindows: aliyun_oss_c_sdk_v3.2.1.zip 更新日志: 修复:解决oss_copy_object源文件名不能有URL特殊字符的问题 OSS C SDK开发包(2016-11-14)版本3.2.0下载地址: Linux: aliyun_oss_c_sdk_v3.2.0.tar.gzWindows: aliyun_oss_c_sdk_v3.2.0.zip 更新日志: 添加:支持上传、下载CRC检验添加:支持上传回调功能添加:支持进度条功能 OSS C SDK开发包(2016-08-11)版本3.1.0下载地址: Linux: aliyun_oss_c_sdk_v3.1.0.tar.gzWindows: aliyun_oss_c_sdk_v3.1.0.zip 更新日志: 添加:支持RTMP功能修复:支持OSS和IMG合并 OSS C SDK开发包(2016-05-30)版本3.0.0下载地址: Linux: aliyun_oss_c_sdk_v3.0.0.tar.gzWindows: aliyun_oss_c_sdk_v3.0.0.zip 更新日志: 合并Linux、Windows代码修复分片上传时分片过多会异常的问题提供Windows示例工程优化Linux编译安装方法 OSS C SDK开发包(2016-03-28)版本2.1.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.1.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.1.0.zip 更新日志: 完善示例程序header长度由限制为1K升级为最长8K解决部分单词拼写错误 OSS C SDK开发包(2016-03-06)版本2.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.0.0.zip 更新日志: complete multipart接口支持修改原有header重构示例程序和组织方式开放params参数,允许用户自定义设置允许params和headers参数为空,简化用户使用和减少用户代码量支持https支持ip新增部分测试新增oss_put_bucket_acl接口新增目录相关示例新增signed url相关示例完善接口注释删除无用的port配置参数调整oss_init_multipart_upload接口参数顺序优化配置参数名称,使其与官方网站保持一致解决endpoint不能含有http等前缀的问题解决用户无法设置content-type的问题解决无法自动根据file name和key设置content-type的问题解决list upload parts为空时coredump的问题解决oss_upload_file接口在断点续传时可能会coredump的问题解决部分单词拼写错误解决所有警告解决部分头文件宏保护无效的问题解决oss_head_object_by_url接口不生效的问题提高易用性,降低用户使用门槛支持Visual C++ 2008 OSS C SDK开发包(2015-12-17)版本1.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v1.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v1.0.0.zip 更新日志: 调整OSS C SDK依赖的XML第三方库,使用minixml替换libxml减小OSS C SDK的大小修改编译方式为CMAKE,方便用户使用SDK新增oss_upload_file接口,封装multipart upload相关的接口,使用multipart方式上传文件新增oss_delete_objects_by_prefix接口,删除指定prefix的object新增OSS C SDK根据object name或者filename自动添加content_type OSS C SDK开发包(2015-11-12)版本0.0.7下载地址: Linux: aliyun_OSS_C_SDK_v0.0.7.tar.gzWindows: oss_c_sdk_windows_v0.0.7.zip 更新日志: OSS C SDK修复sts_token超过http header最大限制的问题 OSS C SDK开发包(2015-10-29)版本0.0.6下载地址: Linux: aliyun_OSS_C_SDK_v0.0.6.tar.gzWindows: oss_c_sdk_windows_v0.0.6.zip 更新日志: OSS C SDK签名时请求头支持x-oss-date,允许用户指定签名时间,解决系统时间偏差导致签名出错的问题OSS C SDK支持CNAME方式访问OSS,CNAME方式请求时指定is_oss_domain值为0新增OSS C SDK demo,提供简单的接口调用示例,方便用户快速入门OSS C SDK sample示例中去除对utf8第三方库的依赖 OSS C SDK开发包(2015-09-14)版本0.0.5下载地址: Linux: aliyun_OSS_C_SDK_v0.0.5.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.5.rar 更新日志: 调整签名时获取GMT时间的方法调整req_id的处理方式,改为从aos_status_t放回状态中直接获取 OSS C SDK开发包(2015-08-17)版本0.0.4下载地址: Linux: aliyun_OSS_C_SDK_v0.0.4.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.4.rar 更新日志: 支持keeplive长连接支持lifecycle设置 OSS C SDK开发包(2015-07-08)版本0.0.3下载地址: Linux: aliyun_OSS_C_SDK_v0.0.3.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.3.rar 更新日志: 增加oss_append_object_from_buffer接口,支持追加上传buffer中的内容到object增加oss_append_object_from_file接口,支持追加上传文件中的内容到object OSS C SDK开发包(2015-06-10)版本0.0.2更新日志: 增加oss_upload_part_copy接口,支持Upload Part Copy方式拷贝增加使用sts服务临时授权方式访问OSS OSS C SDK开发包(2015-05-28)版本0.0.1更新日志: 增加oss_create_bucket接口,创建oss bucket增加oss_delete_bucket接口,删除oss bucket增加oss_get_bucket_acl接口,获取oss bucket的acl增加oss_list_object接口,列出oss bucket中的object增加oss_put_object_from_buffer接口,上传buffer中的内容到object增加oss_put_object_from_file接口,上传文件中的内容到object增加oss_get_object_to_buffer接口,获取object的内容到buffer增加oss_get_object_to_file接口,获取object的内容到文件增加oss_head_object接口,获取object的user meta信息增加oss_delete_object接口,删除object增加oss_copy_object接口,拷贝objet增加oss_init_multipart_upload接口,初始化multipart upload增加oss_upload_part_from_buffer接口,上传buffer中的内容到块中增加oss_upload_part_from_file接口,上传文件中的内容到块增加oss_list_upload_part接口,获取所有已上传的块信息增加oss_complete_multipart_upload接口,完成分块上传增加oss_abort_multipart_upload接口,取消分块上传事件增加oss_list_multipart_upload接口,获取bucket内所有分块上传事件增加oss_gen_signed_url接口,生成一个签名的URL增加oss_put_object_from_buffer_by_url接口,使用url签名的方式上传buffer中的内容到object增加oss_put_object_from_file_by_url接口,使用url签名的方式上传文件中的内容到object增加oss_get_object_to_buffer_by_ur接口,使用url签名的方式获取object的内容到buffer增加oss_get_object_to_file_by_url接口,使用url签名的方式获取object的内容到文件中增加oss_head_object_by_url接口,使用url签名的方式获取object的user meta信息

2019-12-01 23:15:08 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档C SDK 开发包OSS C SDK最新版本点击查看 OSS C SDK开发包(2017-02-22)版本3.4.0下载地址: Linux: aliyun_oss_c_sdk_v3.4.0.tar.gzWindows: aliyun_oss_c_sdk_v3.4.0.zip 更新日志: 添加:支持并发断点续传上传oss_resumable_upload_file修复:oss_gen_signed_url支持临时用户签名修复:初始化默认不打开fd 2,退出时不关闭fd 2修复:解决key为xxx/./yyy/,./async_test/test报SignatureDoesNotMatch的问题 OSS C SDK开发包(2016-12-22)版本3.3.0下载地址: Linux: aliyun_oss_c_sdk_v3.3.0.tar.gzWindows: aliyun_oss_c_sdk_v3.3.0.zip 更新日志: 添加:支持代理Proxy修复:oss_get_object_to_file先下载到本地临时文件,成功后修改文件名称修复:去除Visual Studio编译警告aos_util.c(512) C4146修复:URL上传下载添加CRC校验 OSS C SDK开发包(2016-11-22)版本3.2.1下载地址: Linux: aliyun_oss_c_sdk_v3.2.1.tar.gzWindows: aliyun_oss_c_sdk_v3.2.1.zip 更新日志: 修复:解决oss_copy_object源文件名不能有URL特殊字符的问题 OSS C SDK开发包(2016-11-14)版本3.2.0下载地址: Linux: aliyun_oss_c_sdk_v3.2.0.tar.gzWindows: aliyun_oss_c_sdk_v3.2.0.zip 更新日志: 添加:支持上传、下载CRC检验添加:支持上传回调功能添加:支持进度条功能 OSS C SDK开发包(2016-08-11)版本3.1.0下载地址: Linux: aliyun_oss_c_sdk_v3.1.0.tar.gzWindows: aliyun_oss_c_sdk_v3.1.0.zip 更新日志: 添加:支持RTMP功能修复:支持OSS和IMG合并 OSS C SDK开发包(2016-05-30)版本3.0.0下载地址: Linux: aliyun_oss_c_sdk_v3.0.0.tar.gzWindows: aliyun_oss_c_sdk_v3.0.0.zip 更新日志: 合并Linux、Windows代码修复分片上传时分片过多会异常的问题提供Windows示例工程优化Linux编译安装方法 OSS C SDK开发包(2016-03-28)版本2.1.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.1.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.1.0.zip 更新日志: 完善示例程序header长度由限制为1K升级为最长8K解决部分单词拼写错误 OSS C SDK开发包(2016-03-06)版本2.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.0.0.zip 更新日志: complete multipart接口支持修改原有header重构示例程序和组织方式开放params参数,允许用户自定义设置允许params和headers参数为空,简化用户使用和减少用户代码量支持https支持ip新增部分测试新增oss_put_bucket_acl接口新增目录相关示例新增signed url相关示例完善接口注释删除无用的port配置参数调整oss_init_multipart_upload接口参数顺序优化配置参数名称,使其与官方网站保持一致解决endpoint不能含有http等前缀的问题解决用户无法设置content-type的问题解决无法自动根据file name和key设置content-type的问题解决list upload parts为空时coredump的问题解决oss_upload_file接口在断点续传时可能会coredump的问题解决部分单词拼写错误解决所有警告解决部分头文件宏保护无效的问题解决oss_head_object_by_url接口不生效的问题提高易用性,降低用户使用门槛支持Visual C++ 2008 OSS C SDK开发包(2015-12-17)版本1.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v1.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v1.0.0.zip 更新日志: 调整OSS C SDK依赖的XML第三方库,使用minixml替换libxml减小OSS C SDK的大小修改编译方式为CMAKE,方便用户使用SDK新增oss_upload_file接口,封装multipart upload相关的接口,使用multipart方式上传文件新增oss_delete_objects_by_prefix接口,删除指定prefix的object新增OSS C SDK根据object name或者filename自动添加content_type OSS C SDK开发包(2015-11-12)版本0.0.7下载地址: Linux: aliyun_OSS_C_SDK_v0.0.7.tar.gzWindows: oss_c_sdk_windows_v0.0.7.zip 更新日志: OSS C SDK修复sts_token超过http header最大限制的问题 OSS C SDK开发包(2015-10-29)版本0.0.6下载地址: Linux: aliyun_OSS_C_SDK_v0.0.6.tar.gzWindows: oss_c_sdk_windows_v0.0.6.zip 更新日志: OSS C SDK签名时请求头支持x-oss-date,允许用户指定签名时间,解决系统时间偏差导致签名出错的问题OSS C SDK支持CNAME方式访问OSS,CNAME方式请求时指定is_oss_domain值为0新增OSS C SDK demo,提供简单的接口调用示例,方便用户快速入门OSS C SDK sample示例中去除对utf8第三方库的依赖 OSS C SDK开发包(2015-09-14)版本0.0.5下载地址: Linux: aliyun_OSS_C_SDK_v0.0.5.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.5.rar 更新日志: 调整签名时获取GMT时间的方法调整req_id的处理方式,改为从aos_status_t放回状态中直接获取 OSS C SDK开发包(2015-08-17)版本0.0.4下载地址: Linux: aliyun_OSS_C_SDK_v0.0.4.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.4.rar 更新日志: 支持keeplive长连接支持lifecycle设置 OSS C SDK开发包(2015-07-08)版本0.0.3下载地址: Linux: aliyun_OSS_C_SDK_v0.0.3.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.3.rar 更新日志: 增加oss_append_object_from_buffer接口,支持追加上传buffer中的内容到object增加oss_append_object_from_file接口,支持追加上传文件中的内容到object OSS C SDK开发包(2015-06-10)版本0.0.2更新日志: 增加oss_upload_part_copy接口,支持Upload Part Copy方式拷贝增加使用sts服务临时授权方式访问OSS OSS C SDK开发包(2015-05-28)版本0.0.1更新日志: 增加oss_create_bucket接口,创建oss bucket增加oss_delete_bucket接口,删除oss bucket增加oss_get_bucket_acl接口,获取oss bucket的acl增加oss_list_object接口,列出oss bucket中的object增加oss_put_object_from_buffer接口,上传buffer中的内容到object增加oss_put_object_from_file接口,上传文件中的内容到object增加oss_get_object_to_buffer接口,获取object的内容到buffer增加oss_get_object_to_file接口,获取object的内容到文件增加oss_head_object接口,获取object的user meta信息增加oss_delete_object接口,删除object增加oss_copy_object接口,拷贝objet增加oss_init_multipart_upload接口,初始化multipart upload增加oss_upload_part_from_buffer接口,上传buffer中的内容到块中增加oss_upload_part_from_file接口,上传文件中的内容到块增加oss_list_upload_part接口,获取所有已上传的块信息增加oss_complete_multipart_upload接口,完成分块上传增加oss_abort_multipart_upload接口,取消分块上传事件增加oss_list_multipart_upload接口,获取bucket内所有分块上传事件增加oss_gen_signed_url接口,生成一个签名的URL增加oss_put_object_from_buffer_by_url接口,使用url签名的方式上传buffer中的内容到object增加oss_put_object_from_file_by_url接口,使用url签名的方式上传文件中的内容到object增加oss_get_object_to_buffer_by_ur接口,使用url签名的方式获取object的内容到buffer增加oss_get_object_to_file_by_url接口,使用url签名的方式获取object的内容到文件中增加oss_head_object_by_url接口,使用url签名的方式获取object的user meta信息

2019-12-01 23:15:09 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档C SDK 开发包OSS C SDK最新版本点击查看 OSS C SDK开发包(2017-02-22)版本3.4.0下载地址: Linux: aliyun_oss_c_sdk_v3.4.0.tar.gzWindows: aliyun_oss_c_sdk_v3.4.0.zip 更新日志: 添加:支持并发断点续传上传oss_resumable_upload_file修复:oss_gen_signed_url支持临时用户签名修复:初始化默认不打开fd 2,退出时不关闭fd 2修复:解决key为xxx/./yyy/,./async_test/test报SignatureDoesNotMatch的问题 OSS C SDK开发包(2016-12-22)版本3.3.0下载地址: Linux: aliyun_oss_c_sdk_v3.3.0.tar.gzWindows: aliyun_oss_c_sdk_v3.3.0.zip 更新日志: 添加:支持代理Proxy修复:oss_get_object_to_file先下载到本地临时文件,成功后修改文件名称修复:去除Visual Studio编译警告aos_util.c(512) C4146修复:URL上传下载添加CRC校验 OSS C SDK开发包(2016-11-22)版本3.2.1下载地址: Linux: aliyun_oss_c_sdk_v3.2.1.tar.gzWindows: aliyun_oss_c_sdk_v3.2.1.zip 更新日志: 修复:解决oss_copy_object源文件名不能有URL特殊字符的问题 OSS C SDK开发包(2016-11-14)版本3.2.0下载地址: Linux: aliyun_oss_c_sdk_v3.2.0.tar.gzWindows: aliyun_oss_c_sdk_v3.2.0.zip 更新日志: 添加:支持上传、下载CRC检验添加:支持上传回调功能添加:支持进度条功能 OSS C SDK开发包(2016-08-11)版本3.1.0下载地址: Linux: aliyun_oss_c_sdk_v3.1.0.tar.gzWindows: aliyun_oss_c_sdk_v3.1.0.zip 更新日志: 添加:支持RTMP功能修复:支持OSS和IMG合并 OSS C SDK开发包(2016-05-30)版本3.0.0下载地址: Linux: aliyun_oss_c_sdk_v3.0.0.tar.gzWindows: aliyun_oss_c_sdk_v3.0.0.zip 更新日志: 合并Linux、Windows代码修复分片上传时分片过多会异常的问题提供Windows示例工程优化Linux编译安装方法 OSS C SDK开发包(2016-03-28)版本2.1.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.1.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.1.0.zip 更新日志: 完善示例程序header长度由限制为1K升级为最长8K解决部分单词拼写错误 OSS C SDK开发包(2016-03-06)版本2.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.0.0.zip 更新日志: complete multipart接口支持修改原有header重构示例程序和组织方式开放params参数,允许用户自定义设置允许params和headers参数为空,简化用户使用和减少用户代码量支持https支持ip新增部分测试新增oss_put_bucket_acl接口新增目录相关示例新增signed url相关示例完善接口注释删除无用的port配置参数调整oss_init_multipart_upload接口参数顺序优化配置参数名称,使其与官方网站保持一致解决endpoint不能含有http等前缀的问题解决用户无法设置content-type的问题解决无法自动根据file name和key设置content-type的问题解决list upload parts为空时coredump的问题解决oss_upload_file接口在断点续传时可能会coredump的问题解决部分单词拼写错误解决所有警告解决部分头文件宏保护无效的问题解决oss_head_object_by_url接口不生效的问题提高易用性,降低用户使用门槛支持Visual C++ 2008 OSS C SDK开发包(2015-12-17)版本1.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v1.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v1.0.0.zip 更新日志: 调整OSS C SDK依赖的XML第三方库,使用minixml替换libxml减小OSS C SDK的大小修改编译方式为CMAKE,方便用户使用SDK新增oss_upload_file接口,封装multipart upload相关的接口,使用multipart方式上传文件新增oss_delete_objects_by_prefix接口,删除指定prefix的object新增OSS C SDK根据object name或者filename自动添加content_type OSS C SDK开发包(2015-11-12)版本0.0.7下载地址: Linux: aliyun_OSS_C_SDK_v0.0.7.tar.gzWindows: oss_c_sdk_windows_v0.0.7.zip 更新日志: OSS C SDK修复sts_token超过http header最大限制的问题 OSS C SDK开发包(2015-10-29)版本0.0.6下载地址: Linux: aliyun_OSS_C_SDK_v0.0.6.tar.gzWindows: oss_c_sdk_windows_v0.0.6.zip 更新日志: OSS C SDK签名时请求头支持x-oss-date,允许用户指定签名时间,解决系统时间偏差导致签名出错的问题OSS C SDK支持CNAME方式访问OSS,CNAME方式请求时指定is_oss_domain值为0新增OSS C SDK demo,提供简单的接口调用示例,方便用户快速入门OSS C SDK sample示例中去除对utf8第三方库的依赖 OSS C SDK开发包(2015-09-14)版本0.0.5下载地址: Linux: aliyun_OSS_C_SDK_v0.0.5.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.5.rar 更新日志: 调整签名时获取GMT时间的方法调整req_id的处理方式,改为从aos_status_t放回状态中直接获取 OSS C SDK开发包(2015-08-17)版本0.0.4下载地址: Linux: aliyun_OSS_C_SDK_v0.0.4.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.4.rar 更新日志: 支持keeplive长连接支持lifecycle设置 OSS C SDK开发包(2015-07-08)版本0.0.3下载地址: Linux: aliyun_OSS_C_SDK_v0.0.3.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.3.rar 更新日志: 增加oss_append_object_from_buffer接口,支持追加上传buffer中的内容到object增加oss_append_object_from_file接口,支持追加上传文件中的内容到object OSS C SDK开发包(2015-06-10)版本0.0.2更新日志: 增加oss_upload_part_copy接口,支持Upload Part Copy方式拷贝增加使用sts服务临时授权方式访问OSS OSS C SDK开发包(2015-05-28)版本0.0.1更新日志: 增加oss_create_bucket接口,创建oss bucket增加oss_delete_bucket接口,删除oss bucket增加oss_get_bucket_acl接口,获取oss bucket的acl增加oss_list_object接口,列出oss bucket中的object增加oss_put_object_from_buffer接口,上传buffer中的内容到object增加oss_put_object_from_file接口,上传文件中的内容到object增加oss_get_object_to_buffer接口,获取object的内容到buffer增加oss_get_object_to_file接口,获取object的内容到文件增加oss_head_object接口,获取object的user meta信息增加oss_delete_object接口,删除object增加oss_copy_object接口,拷贝objet增加oss_init_multipart_upload接口,初始化multipart upload增加oss_upload_part_from_buffer接口,上传buffer中的内容到块中增加oss_upload_part_from_file接口,上传文件中的内容到块增加oss_list_upload_part接口,获取所有已上传的块信息增加oss_complete_multipart_upload接口,完成分块上传增加oss_abort_multipart_upload接口,取消分块上传事件增加oss_list_multipart_upload接口,获取bucket内所有分块上传事件增加oss_gen_signed_url接口,生成一个签名的URL增加oss_put_object_from_buffer_by_url接口,使用url签名的方式上传buffer中的内容到object增加oss_put_object_from_file_by_url接口,使用url签名的方式上传文件中的内容到object增加oss_get_object_to_buffer_by_ur接口,使用url签名的方式获取object的内容到buffer增加oss_get_object_to_file_by_url接口,使用url签名的方式获取object的内容到文件中增加oss_head_object_by_url接口,使用url签名的方式获取object的user meta信息

2019-12-01 23:15:08 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

详细解答可以参考官方帮助文档C SDK 开发包OSS C SDK最新版本点击查看 OSS C SDK开发包(2017-02-22)版本3.4.0下载地址: Linux: aliyun_oss_c_sdk_v3.4.0.tar.gzWindows: aliyun_oss_c_sdk_v3.4.0.zip 更新日志: 添加:支持并发断点续传上传oss_resumable_upload_file修复:oss_gen_signed_url支持临时用户签名修复:初始化默认不打开fd 2,退出时不关闭fd 2修复:解决key为xxx/./yyy/,./async_test/test报SignatureDoesNotMatch的问题 OSS C SDK开发包(2016-12-22)版本3.3.0下载地址: Linux: aliyun_oss_c_sdk_v3.3.0.tar.gzWindows: aliyun_oss_c_sdk_v3.3.0.zip 更新日志: 添加:支持代理Proxy修复:oss_get_object_to_file先下载到本地临时文件,成功后修改文件名称修复:去除Visual Studio编译警告aos_util.c(512) C4146修复:URL上传下载添加CRC校验 OSS C SDK开发包(2016-11-22)版本3.2.1下载地址: Linux: aliyun_oss_c_sdk_v3.2.1.tar.gzWindows: aliyun_oss_c_sdk_v3.2.1.zip 更新日志: 修复:解决oss_copy_object源文件名不能有URL特殊字符的问题 OSS C SDK开发包(2016-11-14)版本3.2.0下载地址: Linux: aliyun_oss_c_sdk_v3.2.0.tar.gzWindows: aliyun_oss_c_sdk_v3.2.0.zip 更新日志: 添加:支持上传、下载CRC检验添加:支持上传回调功能添加:支持进度条功能 OSS C SDK开发包(2016-08-11)版本3.1.0下载地址: Linux: aliyun_oss_c_sdk_v3.1.0.tar.gzWindows: aliyun_oss_c_sdk_v3.1.0.zip 更新日志: 添加:支持RTMP功能修复:支持OSS和IMG合并 OSS C SDK开发包(2016-05-30)版本3.0.0下载地址: Linux: aliyun_oss_c_sdk_v3.0.0.tar.gzWindows: aliyun_oss_c_sdk_v3.0.0.zip 更新日志: 合并Linux、Windows代码修复分片上传时分片过多会异常的问题提供Windows示例工程优化Linux编译安装方法 OSS C SDK开发包(2016-03-28)版本2.1.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.1.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.1.0.zip 更新日志: 完善示例程序header长度由限制为1K升级为最长8K解决部分单词拼写错误 OSS C SDK开发包(2016-03-06)版本2.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.0.0.zip 更新日志: complete multipart接口支持修改原有header重构示例程序和组织方式开放params参数,允许用户自定义设置允许params和headers参数为空,简化用户使用和减少用户代码量支持https支持ip新增部分测试新增oss_put_bucket_acl接口新增目录相关示例新增signed url相关示例完善接口注释删除无用的port配置参数调整oss_init_multipart_upload接口参数顺序优化配置参数名称,使其与官方网站保持一致解决endpoint不能含有http等前缀的问题解决用户无法设置content-type的问题解决无法自动根据file name和key设置content-type的问题解决list upload parts为空时coredump的问题解决oss_upload_file接口在断点续传时可能会coredump的问题解决部分单词拼写错误解决所有警告解决部分头文件宏保护无效的问题解决oss_head_object_by_url接口不生效的问题提高易用性,降低用户使用门槛支持Visual C++ 2008 OSS C SDK开发包(2015-12-17)版本1.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v1.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v1.0.0.zip 更新日志: 调整OSS C SDK依赖的XML第三方库,使用minixml替换libxml减小OSS C SDK的大小修改编译方式为CMAKE,方便用户使用SDK新增oss_upload_file接口,封装multipart upload相关的接口,使用multipart方式上传文件新增oss_delete_objects_by_prefix接口,删除指定prefix的object新增OSS C SDK根据object name或者filename自动添加content_type OSS C SDK开发包(2015-11-12)版本0.0.7下载地址: Linux: aliyun_OSS_C_SDK_v0.0.7.tar.gzWindows: oss_c_sdk_windows_v0.0.7.zip 更新日志: OSS C SDK修复sts_token超过http header最大限制的问题 OSS C SDK开发包(2015-10-29)版本0.0.6下载地址: Linux: aliyun_OSS_C_SDK_v0.0.6.tar.gzWindows: oss_c_sdk_windows_v0.0.6.zip 更新日志: OSS C SDK签名时请求头支持x-oss-date,允许用户指定签名时间,解决系统时间偏差导致签名出错的问题OSS C SDK支持CNAME方式访问OSS,CNAME方式请求时指定is_oss_domain值为0新增OSS C SDK demo,提供简单的接口调用示例,方便用户快速入门OSS C SDK sample示例中去除对utf8第三方库的依赖 OSS C SDK开发包(2015-09-14)版本0.0.5下载地址: Linux: aliyun_OSS_C_SDK_v0.0.5.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.5.rar 更新日志: 调整签名时获取GMT时间的方法调整req_id的处理方式,改为从aos_status_t放回状态中直接获取 OSS C SDK开发包(2015-08-17)版本0.0.4下载地址: Linux: aliyun_OSS_C_SDK_v0.0.4.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.4.rar 更新日志: 支持keeplive长连接支持lifecycle设置 OSS C SDK开发包(2015-07-08)版本0.0.3下载地址: Linux: aliyun_OSS_C_SDK_v0.0.3.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.3.rar 更新日志: 增加oss_append_object_from_buffer接口,支持追加上传buffer中的内容到object增加oss_append_object_from_file接口,支持追加上传文件中的内容到object OSS C SDK开发包(2015-06-10)版本0.0.2更新日志: 增加oss_upload_part_copy接口,支持Upload Part Copy方式拷贝增加使用sts服务临时授权方式访问OSS OSS C SDK开发包(2015-05-28)版本0.0.1更新日志: 增加oss_create_bucket接口,创建oss bucket增加oss_delete_bucket接口,删除oss bucket增加oss_get_bucket_acl接口,获取oss bucket的acl增加oss_list_object接口,列出oss bucket中的object增加oss_put_object_from_buffer接口,上传buffer中的内容到object增加oss_put_object_from_file接口,上传文件中的内容到object增加oss_get_object_to_buffer接口,获取object的内容到buffer增加oss_get_object_to_file接口,获取object的内容到文件增加oss_head_object接口,获取object的user meta信息增加oss_delete_object接口,删除object增加oss_copy_object接口,拷贝objet增加oss_init_multipart_upload接口,初始化multipart upload增加oss_upload_part_from_buffer接口,上传buffer中的内容到块中增加oss_upload_part_from_file接口,上传文件中的内容到块增加oss_list_upload_part接口,获取所有已上传的块信息增加oss_complete_multipart_upload接口,完成分块上传增加oss_abort_multipart_upload接口,取消分块上传事件增加oss_list_multipart_upload接口,获取bucket内所有分块上传事件增加oss_gen_signed_url接口,生成一个签名的URL增加oss_put_object_from_buffer_by_url接口,使用url签名的方式上传buffer中的内容到object增加oss_put_object_from_file_by_url接口,使用url签名的方式上传文件中的内容到object增加oss_get_object_to_buffer_by_ur接口,使用url签名的方式获取object的内容到buffer增加oss_get_object_to_file_by_url接口,使用url签名的方式获取object的内容到文件中增加oss_head_object_by_url接口,使用url签名的方式获取object的user meta信息

2019-12-01 23:15:08 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档C SDK 开发包OSS C SDK最新版本点击查看 OSS C SDK开发包(2017-02-22)版本3.4.0下载地址: Linux: aliyun_oss_c_sdk_v3.4.0.tar.gzWindows: aliyun_oss_c_sdk_v3.4.0.zip 更新日志: 添加:支持并发断点续传上传oss_resumable_upload_file修复:oss_gen_signed_url支持临时用户签名修复:初始化默认不打开fd 2,退出时不关闭fd 2修复:解决key为xxx/./yyy/,./async_test/test报SignatureDoesNotMatch的问题 OSS C SDK开发包(2016-12-22)版本3.3.0下载地址: Linux: aliyun_oss_c_sdk_v3.3.0.tar.gzWindows: aliyun_oss_c_sdk_v3.3.0.zip 更新日志: 添加:支持代理Proxy修复:oss_get_object_to_file先下载到本地临时文件,成功后修改文件名称修复:去除Visual Studio编译警告aos_util.c(512) C4146修复:URL上传下载添加CRC校验 OSS C SDK开发包(2016-11-22)版本3.2.1下载地址: Linux: aliyun_oss_c_sdk_v3.2.1.tar.gzWindows: aliyun_oss_c_sdk_v3.2.1.zip 更新日志: 修复:解决oss_copy_object源文件名不能有URL特殊字符的问题 OSS C SDK开发包(2016-11-14)版本3.2.0下载地址: Linux: aliyun_oss_c_sdk_v3.2.0.tar.gzWindows: aliyun_oss_c_sdk_v3.2.0.zip 更新日志: 添加:支持上传、下载CRC检验添加:支持上传回调功能添加:支持进度条功能 OSS C SDK开发包(2016-08-11)版本3.1.0下载地址: Linux: aliyun_oss_c_sdk_v3.1.0.tar.gzWindows: aliyun_oss_c_sdk_v3.1.0.zip 更新日志: 添加:支持RTMP功能修复:支持OSS和IMG合并 OSS C SDK开发包(2016-05-30)版本3.0.0下载地址: Linux: aliyun_oss_c_sdk_v3.0.0.tar.gzWindows: aliyun_oss_c_sdk_v3.0.0.zip 更新日志: 合并Linux、Windows代码修复分片上传时分片过多会异常的问题提供Windows示例工程优化Linux编译安装方法 OSS C SDK开发包(2016-03-28)版本2.1.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.1.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.1.0.zip 更新日志: 完善示例程序header长度由限制为1K升级为最长8K解决部分单词拼写错误 OSS C SDK开发包(2016-03-06)版本2.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v2.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v2.0.0.zip 更新日志: complete multipart接口支持修改原有header重构示例程序和组织方式开放params参数,允许用户自定义设置允许params和headers参数为空,简化用户使用和减少用户代码量支持https支持ip新增部分测试新增oss_put_bucket_acl接口新增目录相关示例新增signed url相关示例完善接口注释删除无用的port配置参数调整oss_init_multipart_upload接口参数顺序优化配置参数名称,使其与官方网站保持一致解决endpoint不能含有http等前缀的问题解决用户无法设置content-type的问题解决无法自动根据file name和key设置content-type的问题解决list upload parts为空时coredump的问题解决oss_upload_file接口在断点续传时可能会coredump的问题解决部分单词拼写错误解决所有警告解决部分头文件宏保护无效的问题解决oss_head_object_by_url接口不生效的问题提高易用性,降低用户使用门槛支持Visual C++ 2008 OSS C SDK开发包(2015-12-17)版本1.0.0下载地址: Linux: aliyun_oss_c_sdk_linux_v1.0.0.tar.gzWindows: aliyun_oss_c_sdk_windows_v1.0.0.zip 更新日志: 调整OSS C SDK依赖的XML第三方库,使用minixml替换libxml减小OSS C SDK的大小修改编译方式为CMAKE,方便用户使用SDK新增oss_upload_file接口,封装multipart upload相关的接口,使用multipart方式上传文件新增oss_delete_objects_by_prefix接口,删除指定prefix的object新增OSS C SDK根据object name或者filename自动添加content_type OSS C SDK开发包(2015-11-12)版本0.0.7下载地址: Linux: aliyun_OSS_C_SDK_v0.0.7.tar.gzWindows: oss_c_sdk_windows_v0.0.7.zip 更新日志: OSS C SDK修复sts_token超过http header最大限制的问题 OSS C SDK开发包(2015-10-29)版本0.0.6下载地址: Linux: aliyun_OSS_C_SDK_v0.0.6.tar.gzWindows: oss_c_sdk_windows_v0.0.6.zip 更新日志: OSS C SDK签名时请求头支持x-oss-date,允许用户指定签名时间,解决系统时间偏差导致签名出错的问题OSS C SDK支持CNAME方式访问OSS,CNAME方式请求时指定is_oss_domain值为0新增OSS C SDK demo,提供简单的接口调用示例,方便用户快速入门OSS C SDK sample示例中去除对utf8第三方库的依赖 OSS C SDK开发包(2015-09-14)版本0.0.5下载地址: Linux: aliyun_OSS_C_SDK_v0.0.5.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.5.rar 更新日志: 调整签名时获取GMT时间的方法调整req_id的处理方式,改为从aos_status_t放回状态中直接获取 OSS C SDK开发包(2015-08-17)版本0.0.4下载地址: Linux: aliyun_OSS_C_SDK_v0.0.4.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.4.rar 更新日志: 支持keeplive长连接支持lifecycle设置 OSS C SDK开发包(2015-07-08)版本0.0.3下载地址: Linux: aliyun_OSS_C_SDK_v0.0.3.tar.gzWindows: aliyun_OSS_C_SDK_windows_v0.0.3.rar 更新日志: 增加oss_append_object_from_buffer接口,支持追加上传buffer中的内容到object增加oss_append_object_from_file接口,支持追加上传文件中的内容到object OSS C SDK开发包(2015-06-10)版本0.0.2更新日志: 增加oss_upload_part_copy接口,支持Upload Part Copy方式拷贝增加使用sts服务临时授权方式访问OSS OSS C SDK开发包(2015-05-28)版本0.0.1更新日志: 增加oss_create_bucket接口,创建oss bucket增加oss_delete_bucket接口,删除oss bucket增加oss_get_bucket_acl接口,获取oss bucket的acl增加oss_list_object接口,列出oss bucket中的object增加oss_put_object_from_buffer接口,上传buffer中的内容到object增加oss_put_object_from_file接口,上传文件中的内容到object增加oss_get_object_to_buffer接口,获取object的内容到buffer增加oss_get_object_to_file接口,获取object的内容到文件增加oss_head_object接口,获取object的user meta信息增加oss_delete_object接口,删除object增加oss_copy_object接口,拷贝objet增加oss_init_multipart_upload接口,初始化multipart upload增加oss_upload_part_from_buffer接口,上传buffer中的内容到块中增加oss_upload_part_from_file接口,上传文件中的内容到块增加oss_list_upload_part接口,获取所有已上传的块信息增加oss_complete_multipart_upload接口,完成分块上传增加oss_abort_multipart_upload接口,取消分块上传事件增加oss_list_multipart_upload接口,获取bucket内所有分块上传事件增加oss_gen_signed_url接口,生成一个签名的URL增加oss_put_object_from_buffer_by_url接口,使用url签名的方式上传buffer中的内容到object增加oss_put_object_from_file_by_url接口,使用url签名的方式上传文件中的内容到object增加oss_get_object_to_buffer_by_ur接口,使用url签名的方式获取object的内容到buffer增加oss_get_object_to_file_by_url接口,使用url签名的方式获取object的内容到文件中增加oss_head_object_by_url接口,使用url签名的方式获取object的user meta信息

2019-12-01 23:15:08 0 浏览量 回答数 0

问题

Python SDK下载

云栖大讲堂 2019-12-01 21:10:42 1390 浏览量 回答数 0

问题

高级接口的使用

云栖大讲堂 2019-12-01 21:08:59 1628 浏览量 回答数 1

问题

Ruby-SDK之如何实现管理文件?

青衫无名 2019-12-01 21:46:37 1098 浏览量 回答数 0

回答

在Logstore列表页面单击诊断可以查看当前Logstore的所有日志采集报错,本文档介绍具体报错类型及对应的处理方式。 若您遇到其他问题,请提交工单处理。 错误类型 错误说明 处理方式 LOGFILE_PERMINSSION_ALARM Logtail无权限读取指定文件。 检查服务器Logtail的启动账户,建议以root方式启动。 SPLIT_LOG_FAIL_ALARM 行首正则与日志行首匹配失败,无法对日志做分行。 检查行首正则正确性,如果是单行日志可以配置为.*。 MULTI_CONFIG_MATCH_ALARM 同一个文件,只能被一个Logtail的配置收集,不支持同时被多个Logtail配置收集。 说明 Docker标准输出可以被多个Logtail配置采集。 检查一个文件是否在多个配置中被收集,并删除多余的配置。 REGEX_MATCH_ALARM 正则表达式解析模式下,日志内容和正则表达式不匹配。 复制错误内容中的日志样例重新尝试匹配,并生成新的解析正则式。 PARSE_LOG_FAIL_ALARM JSON、分隔符等解析模式下,由于日志格式不符合定义而解析失败。 请单击错误信息,查看匹配失败的详细报错。 CATEGORY_CONFIG_ALARM Logtail采集配置不合法。 常见的错误为正则表达式提取文件路径作为Topic失败,其它错误请提工单解决。 LOGTAIL_CRASH_ALARM Logtail因超过服务器资源使用上限而崩溃。 请参考配置启动参数修改CPU、内存使用上限,如有疑问请提工单。 REGISTER_INOTIFY_FAIL_ALARM Linux下注册日志监听失败,可能由于没有文件夹权限或文件夹被删除。 检查Logtail是否有权限访问该文件夹或该文件夹是否被删除。 DISCARD_DATA_ALARM 配置Logtail使用的CPU资源不够或网络发送流控。 请参考配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单解决。 SEND_DATA_FAIL_ALARM 主账号未创建任何AccessKey。 Logtail客户端机器与日志服务的服务器端无法连通或者网络链路质量较差。 服务器端写入配额不足。 主账号创建AK。 检查本地配置文件/usr/local/ilogtail/ilogtail_config.json,执行curl <服务器地址>,查看是否有内容返回。 为Logstore增加Shard数目,以支持更大数据量的写入。 REGISTER_INOTIFY_FAIL_ALARM Logtail为日志目录注册的inotify watcher失败。 请检查目录是否存在以及目录权限设置。 SEND_QUOTA_EXCEED_ALARM 日志写入流量超出限制。 在控制台扩容分区。 READ_LOG_DELAY_ALARM 日志采集进度落后于日志产生进度,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。 请参考Logtail配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 DROP_LOG_ALARM 日志采集进度落后于日志产生进度,且未处理的日志轮转超过20个,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。 请参考Logtail配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 LOGDIR_PERMINSSION_ALARM 没有日志监控目录读取权限。 请检查日志监控目录是否存在,若存在请检查目录权限设置。 ENCODING_CONVERT_ALARM 编码转换失败。 请检查日志编码格式配置是否与日志编码格式一致。 OUTDATED_LOG_ALARM 过期的日志,日志时间落后超过12小时。可能原因: 日志解析进度落后超过12小时。 用户自定义时间字段配置错误。 日志记录程序时间输出异常。 查看是否存在READ_LOG_DELAY_ALARM。如存在按照READ_LOG_DELAY_ALARM处理方式解决,若不存在请检查时间字段配置。 检查时间字段配置。若时间字段配置正确,请检查日志记录程序时间输出是否正常。 如有疑问请提工单。 STAT_LIMIT_ALARM 日志采集配置目录中的文件数超限。 检查采集配置目录是否有较多的文件和子目录,合理设置监控的根目录和目录最大监控深度。 DROP_DATA_ALARM 进程退出时日志落盘到本地超时,此时会丢弃未落盘完毕的日志。 该报错通常为采集严重阻塞导致,请参考Logtail配置启动参数修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 INPUT_COLLECT_ALARM 输入源采集异常。 请参考错误提示处理。 HTTP_LOAD_ADDRESS_ALARM http输入的address不合法。 请检查address合法性。 HTTP_COLLECT_ALARM http采集异常。 请根据错误提示排查,一般由于超时导致。 FILTER_INIT_ALARM 过滤器初始化异常。 一般由于过滤器的正则表达式非法导致,请根据提示修复。 INPUT_CANAL_ALARM MySQL binlog运行异常。 请根据错误提示排查。在配置更新时canal服务可能重启,服务重启的错误可以忽略。 CANAL_INVALID_ALARM MySQL binlog内部状态异常。 此错误一般由于运行时表的schema信息变更导致meta不一致,请确认报错期间是否在修改表的schema。其他情况请提工单。 MYSQL_INIT_ALARM MySQL初始化异常。 请参考错误提示处理。 MYSQL_CHECKPOING_ALARM MySQL checkpoint格式异常。 请确认是否修改该配置中的checkpoint相关配置,其他情况请提工单。 MYSQL_TIMEOUT_ALARM MySQL查询超时。 请确认MySQL服务器和网络是否异常。 MYSQL_PARSE_ALARM MySQL查询结果解析失败。 请确认MySQL配置的checkpoint格式是否匹配对应字段的格式。 AGGREGATOR_ADD_ALARM 向队列中添加数据失败。 这种情况是由于数据发送过快,若真实数据量很大,则无需关心。 ANCHOR_FIND_ALARM anchor插件错误、配置错误或存在不符合配置的日志。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据详细报错中的信息,检查相应的配置是否存在问题。 anchor cannot find key:配置中指定了SourceKey但日志中不存在对应的字段。 anchor no start:无法从SourceKey的值中找到Start对应的内容。 anchor no stop:无法从 SourceKey 的值中找到Stop对应的内容。 ANCHOR_JSON_ALARM anchor插件错误,对已配置的Start和Stop所确定的内容执行JSON展开时发生错误。 请单击错误查看详细报错,检查所处理的内容以及相关的配置,确定是否有配置错误或不合法日志。 CANAL_RUNTIME_ALARM binlog插件运行时错误。 请单击错误查看详细报错,根据错误信息进行进一步地排查,错误一般与所连接的MySQL master相关。 CHECKPOINT_INVALID_ALARM 插件内Checkpoint解析失败。 请单击错误查看详细报错,根据其中的检查点键、检查点内容(前 1024 个字节)以及具体的错误信息进行进一步排查。 DIR_EXCEED_LIMIT_ALARM Logtail同时监听的目录数超出限制。 检查当前Logstore的采集配置以及该Logtail上应用的其他配置是否会包含较多的目录数,合理设置监控的根目录和目录最大监控深度。 DOCKER_FILE_MAPPING_ALARM 执行Logtail命令添加Docker文件映射失败。 请单击错误查看详细报错,根据其中的命令以及具体的错误信息进行进一步排查。 DOCKER_FILE_MATCH_ALARM 无法在Docker容器中查找到指定文件。 请单击错误查看详细报错,根据其中的容器信息以及查找的文件路径进行进一步排查。 DOCKER_REGEX_COMPILE_ALARM docker stdout插件错误,根据配置中的BeginLineRegex构建正则表达式失败。 请单击错误查看详细报错,检查其中的正则表达式是否正确。 DOCKER_STDOUT_INIT_ALARM docker stdout采集初始化失败。 请单击错误查看详细报错,报错根据内容分为以下几类: host...version...error:请检查配置中指定的Docker engine是否可访问。 load checkpoint error:加载检查点失败,如无影响可忽略此错误。 container...:指定容器存在非法label值,目前仅允许配置stdout和stderr。请结合详细错误进行检查。 DOCKER_STDOUT_START_ALARM Docker stdout初始化采集时,stdout文件大小超过限制。 一般由于首次采集时stdout文件已存在,可忽略。 DOCKER_STDOUT_STAT_ALARM Docker stdout无法检查到stdout文件。 一般由于容器退出时无法访问到文件,可忽略。 FILE_READER_EXCEED_ALARM Logtail同时打开的文件对象数量超过限制。 一般由于当前处于采集状态的文件数过多,请检查采集配置是否合理。 GEOIP_ALARM geoip插件错误。 请单击错误查看详细报错,报错根据内容分为以下几类: invalid ip...:获取IP地址失败,请检查配置中的 SourceKey 是否正确或是否存在不合法日志。 parse ip...:根据IP地址解析城市失败,请查看详细错误信息进行排查。 cannot find key...:无法从日志中查看到指定的SourceKey,请检查配置是否正确或是否存在不合法日志。 HTTP_INIT_ALARM http插件错误,配置中指定的ResponseStringMatch正则表达式编译错误。 请单击错误查看详细报错,检查其中的正则表达式是否正确。 HTTP_PARSE_ALARM http插件错误,获取HTTP响应失败。 请单击错误查看详细报错,根据其中的具体错误信息对配置内容或所请求的HTTP服务器进行检查。 INIT_CHECKPOINT_ALARM binlog插件错误,加载检查点失败,插件将忽略检查点并从头开始处理。 请单击错误查看详细报错,根据其中的具体错误信息来确定是否可忽略此错误。 LOAD_LOCAL_EVENT_ALARM Logtail执行了本地事件处理。 此警告一般不会出现,如果非人为操作引起此警告,才需要进行错误排查。请单击错误查看详细报错,根据其中的文件名、配置名、project、logstore等信息进行进一步地排查。 LOG_REGEX_FIND_ALARM processor_split_log_regex以及 processor_split_log_string插件错误,无法从日志中获取到配置中指定的 SplitKey。 请单击错误查看详细报错,检查是否存在配置错误的情况。 LUMBER_CONNECTION_ALARM service_lumberjack插件错误,停止插件时关闭服务器错误。 请单击错误查看详细报错,根据其中的具体错误信息进行进一步排查,此错误一般可忽略。 LUMBER_LISTEN_ALARM service_lumberjack插件错误,初始化进行监听时发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类: init tls error...:请结合具体的错误信息检查 TLS 相关的配置是否正确 listen init error...:请结合具体的错误信息检查地址相关的配置是否正确。 LZ4_COMPRESS_FAIL_ALARM Logtail执行LZ4压缩发生错误。 请单击错误查看详细报错,根据其中的log lines、project、category、region等值来进行进一步排查。 MYSQL_CHECKPOINT_ALARM MySQL插件错误,检查点相关错误。 请单击错误查看详细报错,报错根据内容分为以下几类: init checkpoint error...:初始化检查点失败,请根据错误信息检查配置指定的检查点列以及所获取的值是否正确。 not matched checkpoint...:检查点信息不匹配,请根据错误信息检查是否是由于配置更新等人为原因导致的错误,如果是则可忽略。 NGINX_STATUS_COLLECT_ALARM nginx_status插件错误,获取状态发生错误。 请单击错误查看详细报错,根据其中的URL以及具体的错误信息来进行进一步排查。 NGINX_STATUS_INIT_ALARM nginx_status插件错误,初始化解析配置中指定的URL失败。 请单击错误查看详细报错,根据其中的URL检查地址是否正确配置。 OPEN_FILE_LIMIT_ALARM Logtail已打开文件数量超过限制,无法打开新的文件。 请单击错误查看详细报错,根据其中的日志文件路径、Project、Logstore等信息进行进一步排查。 OPEN_LOGFILE_FAIL_ALARM Logtail打开文件出错。 请单击错误查看详细报错,根据其中的日志文件路径、Project、Logstore等信息进行进一步排查。 PARSE_DOCKER_LINE_ALARM service_docker_stdout插件错误,解析日志失败。 请单击错误查看详细报错,报错根据内容分为以下几类: parse docker line error: empty line:日志为空。 parse json docker line error...:以JSON格式解析日志失败,请根据错误信息以及日志的前512个字节进行排查。 parse cri docker line error...:以CRI格式解析日志失败,请根据错误信息以及日志的前512个字节进行排查。 PLUGIN_ALARM 插件初始化及相关调用发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据具体的错误信息进行进一步排查。 init plugin error...:初始化插件失败。 hold on error...:暂停插件运行失败。 resume error...:恢复插件运行失败。 start service error...:启动 service input类型的插件失败。 stop service error...:停止 service input类型的插件失败。 PROCESSOR_INIT_ALARM regex插件错误,编译配置中指定的Regex正则表达式失败。 请单击错误查看详细报错,检查其中的正则表达式是否正确。 PROCESS_TOO_SLOW_ALARM Logtail日志解析速度过慢。 单击错误查看详细报错,根据其中的日志数量、缓冲区大小、解析时间来确定是否正常。 如果不正常,检查Logtail所在节点是否有其他进程占用了过多的CPU资源或是存在效率较低的正则表达式等不合理的解析配置。 REDIS_PARSE_ADDRESS_ALARM redis插件错误,配置中提供的ServerUrls存在解析失败的情况。 请单击错误查看详细报错,对其中报错的URL进行检查。 REGEX_FIND_ALARM regex 插件错误,无法从日志中找到配置中SourceKey指定的字段。 请单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。 REGEX_UNMATCHED_ALARM regex插件错误,匹配失败。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据具体的错误信息进行进一步地排查,例如检查配置是否正确。 unmatch this log content...:日志无法匹配配置中的正则表达式 match result count less...:匹配的结果数量少于配置中指定的 Keys 数量。 SAME_CONFIG_ALARM 同一个Logstore下存在同名的配置,后发现的配置会被抛弃。 请单击错误查看详细报错,根据其中的配置路径等信息排查是否存在配置错误的情况。 SPLIT_FIND_ALARM split_char以及split_string插件错误,无法从日志中找到配置中SourceKey指定的字段。 请单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。 SPLIT_LOG_ALARM processor_split_char以及processor_split_string插件错误,解析得到的字段数量与SplitKeys中指定的不相同。 请单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。 STAT_FILE_ALARM 插件内通过LogFileReader对象进行文件采集时发生错误。 请单击错误查看详细报错,根据其中的文件路径、错误信息进行进一步排查。 SERVICE_SYSLOG_INIT_ALARM service_syslog插件错误,初始化失败。 请单击错误查看详细报错,检查配置中的Address是否正确。 SERVICE_SYSLOG_STREAM_ALARM service_syslog插件错误,通过TCP采集时发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据详细报错中的具体错误信息进行排查。 accept error...:执行Accept时发生错误,插件将等待一段时间后重试。 setKeepAlive error...:设置 Keep Alive失败,插件将跳过此错误并继续运行。 connection i/o timeout...:通过TCP读取时超时,插件将重设超时并继续读取。 scan error...:TCP 读取错误,插件将等待一段时间后重试。 SERVICE_SYSLOG_PACKET_ALARM service_syslog插件错误,通过UDP采集时发生错误。 请单击错误查看详细报错,报错根据内容分为以下几类,请根据详细报错中的具体错误信息进行排查。 connection i/o timeout...:通过UDP读取时超时,插件将重设超时并继续读取。 read from error...:UDP读取错误,插件将等待一段时间后重试。

保持可爱mmm 2020-03-26 23:02:18 0 浏览量 回答数 0

问题

短信消息API---Python

nicenelly 2019-12-01 20:57:32 1441 浏览量 回答数 0

问题

短信消息API---Python

nicenelly 2019-12-01 20:57:44 1333 浏览量 回答数 0

问题

Java SDK开发包

青衫无名 2019-12-01 21:48:50 1446 浏览量 回答数 0

问题

MaxCompute用户指南:安全指南:用户及授权管理:授权

行者武松 2019-12-01 22:05:45 1372 浏览量 回答数 0

问题

DRDS 错误代码如何解决?

猫饭先生 2019-12-01 21:21:21 7993 浏览量 回答数 0

回答

本文介绍AliSQL的内核版本更新说明。 MySQL 8.0 20200229 新特性 Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。 在半同步模式下添加网络往返时间,并记录到性能数据。 性能优化 允许在只读实例上进行语句级并发控制(CCL)操作。 备实例支持Outline。 Proxy短连接优化。 优化不同CPU架构下的pause指令执行时间。 添加内存表查看线程池运行情况。 Bug修复 在低于4.9的Linux Kenerls中禁用ppoll,使用poll代替。 修复wrap_sm4_encrypt函数调用错误问题。 修复在滚动审核日志时持有全局变量锁的问题。 修复恢复不一致性检查的问题。 修复io_statistics表出现错误time值的问题。 修复无效压缩算法导致崩溃的问题。 修复用户列与5.6不兼容的问题。 20200110 新特性 Inventory Hint:新增了三个hint, 支持SELECT、UPDATE、INSERT、DELETE 语句,快速提交/回滚事务,提高业务吞吐能力。 性能优化 启动实例时,先初始化Concurrency Control队列结构,再初始化Concurrency Control规则。 异步清除文件时继续取消小文件的链接。 优化Thread Pool性能。 默认情况下禁用恢复不一致性检查。 更改设置变量所需的权限: 设置以下变量所需的权限已更改为普通用户权限: auto_increment_increment auto_increment_offset bulk_insert_buffer_size binlog_rows_query_log_events 设置以下变量所需的权限已更改为超级用户或系统变量管理用户权限: binlog_format binlog_row_image binlog_direct sql_log_off sql_log_bin 20191225 新特性 Recycle Bin:临时将删除的表转移到回收站,还可以设置保留的时间,方便您找回数据。 性能优化 提高短连接处理性能。 使用专用线程为maintain user服务,避免HA失败。 通过Redo刷新Binlog时出现错误会显式释放文件同步锁。 删除不必要的TCP错误日志。 默认情况下启用线程池。 Bug修复 修复慢日志刷新的问题。 修复锁定范围不正确的问题。 修复TDE的Select函数导致的核心转储问题。 20191115 新特性 Statement Queue:针对语句的排队机制,将语句进行分桶排队,尽量把可能具有相同冲突的语句放在一个桶内排队,减少冲突的开销。 20191101 新特性 为TDE添加SM4加密算法。 保护备实例信息:拥有SUPER或REPLICATION_SLAVE_ADMIN权限的用户才能插入/删除/修改表slave_master_info、slave_relay_log_info、slave_worker_info。 提高自动递增键的优先级:如果表中没有主键或非空唯一键,具有自动增量的非空键将是第一候选项。 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。 Redo Log刷新到磁盘之前先将Binlog文件刷新到磁盘。 实例被锁定时也会影响临时表。 添加新的基于LSM树的事务存储引擎X-Engine。 性能优化 Thread Pool:互斥优化。 Performance Insight:性能点支持线程池。 参数调整: primary_fast_lookup:会话参数,默认值为true。 thread_pool_enabled:全局参数,默认值为true。 20191015 新特性 TDE:支持透明数据加密TDE(Transparent Data Encryption)功能,可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。 Returning:Returning功能支持DML语句返回Resultset,同时提供了工具包(DBMS_TRANS)便于您快捷使用。 强制将引擎从MyISAM/MEMORY转换为InnoDB:如果全局变量force_memory/mysiam_to_innodb为ON,则创建/修改表时会将表引擎从MyISAM/MEMORY转换为InnoDB。 禁止非高权限账号切换主备实例。 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮循方式,保留最近的秒级性能数据。 Innodb mutex timeout cofigurable:可配置全局变量innodb_fatal_semaphore_wait_threshold,默认值:600。 忽略索引提示错误:可配置全局变量ignore_index_hint_error,默认值:false。 可关闭SSL加密功能。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 Bug修复 支持本地AIO的Linux系统内,在触发线性预读之前会合并AIO请求。 优化表/索引统计信息。 如果指定了主键,则直接访问主索引。 20190915 Bug修复 修复Cmd_set_current_connection内存泄露问题。 20190816 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 Statement Concurrency Control:通过控制并发数应对突发的数据库请求流量、资源消耗过高的语句访问以及SQL访问模型的变化,保证MySQL实例持续稳定运行。 Statement Outline:利用Optimizer Hint和Index Hint让MySQL稳定执行计划。 Sequence Engine:简化获取序列值的复杂度。 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 Bug修复 修复文件大小计算错误的问题。 修复偶尔出现的内存空闲后再次使用的问题。 修复主机缓存大小为0时的崩溃问题。 修复隐式主键与CTS语句的冲突问题。 修复慢查询导致的slog出错问题。 20190601 性能优化 缩短日志表MDL范围,减少MDL阻塞的可能性。 重构终止选项的代码。 Bug修复 修复审计日志中没有记录预编译语句的问题。 屏蔽无效表名的错误日志。 MySQL 5.7基础版/高可用版 20200229 新特性 Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。 在半同步模式下添加网络往返时间,并记录到性能数据。 性能优化 优化不同CPU架构下的pause指令执行时间。 Proxy短连接优化。 添加内存表查看线程池运行情况。 Bug修复 修复DDL重做日志不安全的问题。 修复io_statistics表出现错误time值的问题。 修复更改表导致服务器崩溃的问题。 修复MySQL测试用例。 20200110 性能优化 异步清除文件时继续取消小文件的链接。 优化Thread Pool性能。 thread_pool_enabled参数的默认值调整为OFF。 20191225 新特性 内部账户管理与防范:调整用户权限保护数据安全。 性能优化 提高短连接处理性能。 使用专用线程为maintain user服务,避免HA失败。 删除不必要的TCP错误日志。 优化线程池。 Bug修复 修复读写分离时mysqld进程崩溃问题。 修复密钥环引起的核心转储问题。 20191115 Bug修复 修复主备切换后审计日志显示变量的问题。 20191101 新特性 为TDE添加SM4加密算法。 如果指定了主键,则直接访问主索引。 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。 性能优化 Thread Pool:互斥优化。 引入审计日志缓冲机制,提高审计日志的性能。 Performance Insight:性能点支持线程池。 默认开启Thread Pool。 Bug修复 在处理维护用户列表时释放锁。 补充更多TCP错误信息。 20191015 新特性 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的csv数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮轮循方式,保留最近的秒级性能数据。 强制将引擎从MEMORY转换为InnoDB:如果全局变量rds_force_memory_to_innodb为ON,则创建/修改表时会将表引擎从MEMORY转换为InnoDB。 TDE机制优化:添加keyring-rds插件与管控系统/密钥管理服务进行交互。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 Bug修复 修复DDL中的意外错误Error 1290。 20190925 参数修改 将系统变量auto_generate_certs的默认值由true改为false。 增加全局只读变量auto_detact_certs,默认值为false,有效值为[true | false]。 该系统变量在Server端使用OpenSSL编译时可用,用于控制Server端在启动时是否在数据目录下自动查找SSL加密证书和密钥文件,即控制是否开启Server端的证书和密钥的自动查找功能。 20190915 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 20190815 新特性 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 Bug修复 禁止在set rds_current_connection命令中设置rds_prepare_begin_id。 允许更改已锁定用户的信息。 禁止用关键字actual作为表名。 修复慢日志导致时间字段溢出的问题。 20190510版本 新特性:允许在事务内创建临时表。 20190319版本 新特性:支持在handshake报文内代理设置threadID。 20190131版本 升级到官方5.7.25版本。 关闭内存管理功能jemalloc。 修复内部变量net_lenth_size计算错误问题。 20181226版本 新特性:支持动态修改binlog-row-event-max-size,加速无主键表的复制。 修复Proxy实例内存申请异常的问题。 20181010版本 支持隐式主键。 加快无主键表的主备复制。 支持Native AIO,提升I/O性能。 20180431版本 新特性: 支持高可用版。 支持SQL审计。 增强对处于快照备份状态的实例的保护。 MySQL 5.7三节点企业版 20191128 新特性 支持读写分离。 Bug修复 修复部分场景下Follower Second_Behind_Master计算错误问题。 修复表级并行复制事务重试时死锁问题。 修复XA相关bug。 20191016 新特性 支持MySQL 5.7高可用版(本地SSD盘)升级到三节点企业版。 兼容MySQL官方GTID功能,默认不开启。 合并AliSQL MySQL 5.7基础版/高可用版 20190915版本及之前的自研功能。 Bug修复 修复重置备实例导致binlog被关闭问题。 20190909 新特性 优化大事务在三节点强一致状态下的执行效率。 支持从Leader/Follower进行Binlog转储。 支持创建只读实例。 系统表默认使用InnoDB引擎。 Bug修复 修复Follower日志清理命令失效问题。 修复参数slave_sql_verify_checksum=OFF和binlog_checksum=crc32时Slave线程异常退出问题。 20190709 新特性 支持三节点功能。 禁用semi-sync插件。 支持表级并行复制、Writeset并行复制。 支持pk_access主键查询加速。 支持线程池。 合并AliSQL MySQL 5.7基础版/高可用版 20190510版本及之前的自研功能。 MySQL 5.6 20200229 新特性 支持Proxy读写分离功能。 性能优化 优化线程池功能。 优化不同CPU架构下的pause指令执行时间。 Bug修复 修复XA事务部分提交的问题。 20200110 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 性能优化 异步清除文件时继续取消小文件的链接。 Bug修复 修复页面清理程序的睡眠时间计算不正确问题。 修复SELECT @@global.gtid_executed导致的故障转移失败问题。 修复IF CLIENT KILLED AFTER ROLLBACK TO SAVEPOINT PREVIOUS STMTS COMMITTED问题。 20191212 性能优化 删除不必要的tcp错误日志 20191115 Bug修复 修复慢日志时间戳溢出问题。 20191101 Bug修复 修复刷新日志时切换慢日志的问题,仅在执行刷新慢日志时切换慢日志。 修正部分显示错误。 20191015 新特性 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的csv数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。 SM4加密算法:添加新的SM4加密算法,取代旧的SM加密算法。 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 引入审计日志缓冲机制,提高审计日志的性能。。 Bug修复 禁用pstack,避免存在大量连接时可能导致pstack无响应。 修复隐式主键与create table as select语句之间的冲突。 自动清除由二进制日志创建的临时文件。 20190815 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 20190130版本 修复部分可能导致系统不稳定的bug。 20181010版本 添加参数rocksdb_ddl_commit_in_the_middle(MyRocks)。如果这个参数被打开,部分DDL在执行过程中将会执行commit操作。 201806** (5.6.16)版本 新特性:slow log精度提升为微秒。 20180426(5.6.16)版本 新特性:引入隐藏索引,支持将索引设置为不可见,详情请参见参考文档。 修复备库apply线程的bug。 修复备库apply分区表更新时性能下降问题。 修复TokuDB下alter table comment重建整张表问题,详情请参见参考文档。 修复由show slave status/show status可能触发的死锁问题。 20171205(5.6.16)版本 修复OPTIMIZE TABLE和ONLINE ALTER TABLE同时执行时会触发死锁的问题。 修复SEQUENCE与隐含主键冲突的问题。 修复SHOW CREATE SEQUENCE问题。 修复TokuDB引擎的表统计信息错误。 修复并行OPTIMIZE表引入的死锁问题。 修复QUERY_LOG_EVENT中记录的字符集问题。 修复信号处理引起的数据库无法停止问题,详情请参见参考文档。 修复RESET MASTER引入的问题。 修复备库陷入等待的问题。 修复SHOW CREATE TABLE可能触发的进程崩溃问题。 20170927(5.6.16)版本 修复TokuDB表查询时使用错误索引问题。 20170901(5.6.16)版本 新特性: 升级SSL加密版本到TLS 1.2,详情请参见参考文档。 支持Sequence。 修复NOT IN查询在特定场景下返回结果集有误的问题。 20170530 (5.6.16)版本 新特性:支持高权限账号Kill其他账号下的连接。 20170221(5.6.16)版本 新特性:支持读写分离简介。 MySQL 5.5 20181212 修复调用系统函数gettimeofday(2) 返回值不准确的问题。该系统函数返回值为时间,常用来计算等待超时,时间不准确时会导致一些操作永不超时。

游客yl2rjx5yxwcam 2020-03-08 13:18:55 0 浏览量 回答数 0

问题

为什么SSH 登录时出现如下错误:Maximum amount of failed attempts was reached

boxti 2019-12-01 21:59:27 1705 浏览量 回答数 0

问题

MaxCompute用户指南:SQL:DDL语句

行者武松 2019-12-01 22:02:56 2158 浏览量 回答数 0

问题

.NET SDK开发包

青衫无名 2019-12-01 21:48:58 1364 浏览量 回答数 0

问题

模块在调用文件旁边时获取ModuleNotFoundError

is大龙 2020-03-21 11:52:07 4 浏览量 回答数 1

问题

分析型数据库如何导入数据?

nicenelly 2019-12-01 21:24:58 1176 浏览量 回答数 0

回答

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟传统的服务器不同,Nginx不依赖线程来处理请求。相反,它使用了更多的可扩展的事 件驱动(异步)架构。Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易等。这篇文章主要是介绍如何提高运行在 Linux或UNIX系统的Nginx Web服务器的安全性。 默认配置文件和Nginx端口 /usr/local/nginx/conf/ – Nginx配置文件目录,/usr/local/nginx/conf/nginx.conf是主配置文件 /usr/local/nginx/html/ – 默认网站文件位置 /usr/local/nginx/logs/ – 默认日志文件位置 Nginx HTTP默认端口 : TCP 80 Nginx HTTPS默认端口: TCP 443 你可以使用以下命令来测试Nginx配置文件准确性。 /usr/local/nginx/sbin/nginx -t 将会输出: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 执行以下命令来重新加载配置文件。 /usr/local/nginx/sbin/nginx -s reload 执行以下命令来停止服务器。 /usr/local/nginx/sbin/nginx -s stop 一、配置SELinux 注意:对于云服务器 ECS,参阅 ECS 使用须知 ,基于兼容性、稳定性考虑,请勿开启 SELinux。 安全增强型 Linux(SELinux)是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。它可以防御大部分攻击。下面我们来看如何启动基于centos/RHEL系统的SELinux。 安装SELinux rpm -qa | grep selinux libselinux-1.23.10-2 selinux-policy-targeted-1.23.16-6 如果没有返回任何结果,代表没有安装 SELinux,如果返回了类似上面的结果,则说明系统安装了 SELinux。 布什值锁定 运行命令getsebool -a来锁定系统。 getsebool -a | less getsebool -a | grep off getsebool -a | grep o 二、通过分区挂载允许最少特权 服务器上的网页/html/php文件单独分区。例如,新建一个分区/dev/sda5(第一逻辑分区),并且挂载在/nginx。确保 /nginx是以noexec, nodev and nosetuid的权限挂载。以下是我的/etc/fstab的挂载/nginx的信息: LABEL=/nginx /nginx ext3 defaults,nosuid,noexec,nodev 1 2 注意:你需要使用fdisk和mkfs.ext3命令创建一个新分区。 三、配置/etc/sysctl.conf强化Linux安全 你可以通过编辑/etc/sysctl.conf来控制和配置Linux内核、网络设置。 Avoid a smurf attack net.ipv4.icmp_echo_ignore_broadcasts = 1 Turn on protection for bad icmp error messages net.ipv4.icmp_ignore_bogus_error_responses = 1 Turn on syncookies for SYN flood attack protection net.ipv4.tcp_syncookies = 1 Turn on and log spoofed, source routed, and redirect packets net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 No source routed packets here net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 Turn on reverse path filtering net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 Make sure no one can alter the routing tables net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 Don’t act as a router net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 Turn on execshild kernel.exec-shield = 1 kernel.randomize_va_space = 1 Tuen IPv6 net.ipv6.conf.default.router_solicitations = 0 net.ipv6.conf.default.accept_ra_rtr_pref = 0 net.ipv6.conf.default.accept_ra_pinfo = 0 net.ipv6.conf.default.accept_ra_defrtr = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.default.dad_transmits = 0 net.ipv6.conf.default.max_addresses = 1 Optimization for port usefor LBs Increase system file descriptor limit fs.file-max = 65535 Allow for more PIDs (to reduce rollover problems); may break some programs 32768 kernel.pid_max = 65536 Increase system IP port limits net.ipv4.ip_local_port_range = 2000 65000 Increase TCP max buffer size setable using setsockopt() net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 87380 8388608 Increase Linux auto tuning TCP buffer limits min, default, and max number of bytes to use set max to at least 4MB, or higher if you use very high BDP paths Tcp Windows etc net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_window_scaling = 1 四、删除所有不需要的Nginx模块 你需要直接通过编译Nginx源代码使模块数量最少化。通过限制只允许web服务器访问模块把风险降到最低。你可以只配置安装nginx你所需要的模块。例如,禁用SSL和autoindex模块你可以执行以下命令: ./configure –without-http_autoindex_module –without-http_ssi_module make make install 通过以下命令来查看当编译nginx服务器时哪个模块能开户或关闭: ./configure –help | less 禁用你用不到的nginx模块。 (可选项)更改nginx版本名称。 编辑文件/http/ngx_http_header_filter_module.c: vi +48 src/http/ngx_http_header_filter_module.c 找到行: static char ngx_http_server_string[] = “Server: nginx” CRLF; static char ngx_http_server_full_string[] = “Server: ” NGINX_VER CRLF; 按照以下行修改: static char ngx_http_server_string[] = “Server: Ninja Web Server” CRLF; static char ngx_http_server_full_string[] = “Server: Ninja Web Server” CRLF; 保存并关闭文件。现在你可以编辑服务器了。增加以下代码到nginx.conf文件来关闭nginx版本号的显示。 server_tokens off 五、使用mod_security(只适合后端Apache服务器) mod_security为Apache提供一个应用程序级的防火墙。为后端Apache Web服务器安装mod_security,这会阻止很多注入式攻击。 六、安装SELinux策略以强化Nginx Web服务器 默认的SELinux不会保护Nginx Web服务器,但是你可以安装和编译保护软件。 1、安装编译SELinux所需环境支持 yum -y install selinux-policy-targeted selinux-policy-devel 2、下载SELinux策略以强化Nginx Web服务器。 cd /opt wget ‘http://downloads.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.gz?use_mirror=nchc’ 3、解压文件 tar -zxvf se-ngix_1_0_10.tar.gz 4、编译文件 cd se-ngix_1_0_10/nginx make 将会输出如下: Compiling targeted nginx module /usr/bin/checkmodule: loading policy configuration from tmp/nginx.tmp /usr/bin/checkmodule: policy configuration loaded /usr/bin/checkmodule: writing binary representation (version 6) to tmp/nginx.mod Creating targeted nginx.pp policy package rm tmp/nginx.mod.fc tmp/nginx.mod 5、安装生成的nginx.pp SELinux模块: /usr/sbin/semodule -i nginx.pp 七、基于Iptables防火墙的限制 下面的防火墙脚本阻止任何除了允许: 来自HTTP(TCP端口80)的请求 来自ICMP ping的请求 ntp(端口123)的请求输出 smtp(TCP端口25)的请求输出 #!/bin/bash IPT=”/sbin/iptables” IPS Get server public ip SERVER_IP=$(ifconfig eth0 | grep ‘inet addr:’ | awk -F’inet addr:’ ‘{ print $2}’ | awk ‘{ print $1}’) LB1_IP=”204.54.1.1″ LB2_IP=”204.54.1.2″ Do some smart logic so that we can use damm script on LB2 too OTHER_LB=”" SERVER_IP=”" [[ "$SERVER_IP" == "$LB1_IP" ]] && OTHER_LB=”$LB2_IP” || OTHER_LB=”$LB1_IP” [[ "$OTHER_LB" == "$LB2_IP" ]] && OPP_LB=”$LB1_IP” || OPP_LB=”$LB2_IP” IPs PUB_SSH_ONLY=”122.xx.yy.zz/29″ FILES BLOCKED_IP_TDB=/root/.fw/blocked.ip.txt SPOOFIP=”127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 169.254.0.0/16 0.0.0.0/8 240.0.0.0/4 255.255.255.255/32 168.254.0.0/16 224.0.0.0/4 240.0.0.0/5 248.0.0.0/5 192.0.2.0/24″ BADIPS=$( [[ -f ${BLOCKED_IP_TDB} ]] && egrep -v “^#|^$” ${BLOCKED_IP_TDB}) Interfaces PUB_IF=”eth0″ # public interface LO_IF=”lo” # loopback VPN_IF=”eth1″ # vpn / private net start firewall echo “Setting LB1 $(hostname) Firewall…” DROP and close everything $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP Unlimited lo access $IPT -A INPUT -i ${LO_IF} -j ACCEPT $IPT -A OUTPUT -o ${LO_IF} -j ACCEPT Unlimited vpn / pnet access $IPT -A INPUT -i ${VPN_IF} -j ACCEPT $IPT -A OUTPUT -o ${VPN_IF} -j ACCEPT Drop sync $IPT -A INPUT -i ${PUB_IF} -p tcp ! –syn -m state –state NEW -j DROP Drop Fragments $IPT -A INPUT -i ${PUB_IF} -f -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL ALL -j DROP Drop NULL packets $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” NULL Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,RST SYN,RST -j DROP Drop XMAS $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” XMAS Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP Drop FIN packet scans $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” Fin Packets Scan “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP Log and get rid of broadcast / multicast and invalid $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j LOG –log-prefix ” Broadcast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j DROP $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j LOG –log-prefix ” Multicast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j DROP $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j LOG –log-prefix ” Invalid “ $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j DROP Log and block spoofed ips $IPT -N spooflist for ipblock in $SPOOFIP do $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j LOG –log-prefix ” SPOOF List Block “ $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j DROP done $IPT -I INPUT -j spooflist $IPT -I OUTPUT -j spooflist $IPT -I FORWARD -j spooflist Allow ssh only from selected public ips for ip in ${PUB_SSH_ONLY} do $IPT -A INPUT -i ${PUB_IF} -s ${ip} -p tcp -d ${SERVER_IP} –destination-port 22 -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -d ${ip} -p tcp -s ${SERVER_IP} –sport 22 -j ACCEPT done allow incoming ICMP ping pong stuff $IPT -A INPUT -i ${PUB_IF} -p icmp –icmp-type 8 -s 0/0 -m state –state NEW,ESTABLISHED,RELATED -m limit –limit 30/sec -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p icmp –icmp-type 0 -d 0/0 -m state –state ESTABLISHED,RELATED -j ACCEPT allow incoming HTTP port 80 $IPT -A INPUT -i ${PUB_IF} -p tcp -s 0/0 –sport 1024:65535 –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p tcp –sport 80 -d 0/0 –dport 1024:65535 -m state –state ESTABLISHED -j ACCEPT allow outgoing ntp $IPT -A OUTPUT -o ${PUB_IF} -p udp –dport 123 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p udp –sport 123 -m state –state ESTABLISHED -j ACCEPT allow outgoing smtp $IPT -A OUTPUT -o ${PUB_IF} -p tcp –dport 25 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p tcp –sport 25 -m state –state ESTABLISHED -j ACCEPT add your other rules here ####################### drop and log everything else $IPT -A INPUT -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” DEFAULT DROP “ $IPT -A INPUT -j DROP exit 0 八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf 编辑和设置所有客户端缓冲区的大小限制如下: Start: Size Limits & Buffer Overflows client_body_buffer_size 1K; client_header_buffer_size 1k; client_max_body_size 1k; large_client_header_buffers 2 1k; END: Size Limits & Buffer Overflows 解释: 1、client_body_buffer_size 1k-(默认8k或16k)这个指令可以指定连接请求实体的缓冲区大小。如果连接请求超过缓存区指定的值,那么这些请求实体的整体或部分将尝试写入一个临时文件。 2、client_header_buffer_size 1k-指令指定客户端请求头部的缓冲区大小。绝大多数情况下一个请求头不会大于1k,不过如果有来自于wap客户端的较大的cookie它可能会大于 1k,Nginx将分配给它一个更大的缓冲区,这个值可以在large_client_header_buffers里面设置。 3、client_max_body_size 1k-指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段。 如果请求大于指定的值,客户端将收到一个”Request Entity Too Large” (413)错误。记住,浏览器并不知道怎样显示这个错误。 4、large_client_header_buffers-指定客户端一些比较大的请求头使用的缓冲区数量和大小。请求字段不能大于一个缓冲区大小,如果客户端发送一个比较大的头,nginx将返回”Request URI too large” (414) 同样,请求的头部最长字段不能大于一个缓冲区,否则服务器将返回”Bad request” (400)。缓冲区只在需求时分开。默认一个缓冲区大小为操作系统中分页文件大小,通常是4k或8k,如果一个连接请求最终将状态转换为keep- alive,它所占用的缓冲区将被释放。 你还需要控制超时来提高服务器性能并与客户端断开连接。按照如下编辑: Start: Timeouts client_body_timeout 10; client_header_timeout 10; keepalive_timeout 5 5; send_timeout 10; End: Timeouts 1、client_body_timeout 10;-指令指定读取请求实体的超时时间。这里的超时是指一个请求实体没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 2、client_header_timeout 10;-指令指定读取客户端请求头标题的超时时间。这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 3、keepalive_timeout 5 5; – 参数的第一个值指定了客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接。参数的第二个值(可选)指定了应答头中Keep-Alive: timeout=time的time值,这个值可以使一些浏览器知道什么时候关闭连接,以便服务器不用重复关闭,如果不指定这个参数,nginx不会在应 答头中发送Keep-Alive信息。(但这并不是指怎样将一个连接“Keep-Alive”)参数的这两个值可以不相同。 4、send_timeout 10; 指令指定了发送给客户端应答后的超时时间,Timeout是指没有进入完整established状态,只完成了两次握手,如果超过这个时间客户端没有任何响应,nginx将关闭连接。 九、控制并发连接 你可以使用NginxHttpLimitZone模块来限制指定的会话或者一个IP地址的特殊情况下的并发连接。编辑nginx.conf: Directive describes the zone, in which the session states are stored i.e. store in slimits. 1m can handle 32000 sessions with 32 bytes/session, set to 5m x 32000 session limit_zone slimits $binary_remote_addr 5m; Control maximum number of simultaneous connections for one session i.e. restricts the amount of connections from a single ip address limit_conn slimits 5; 上面表示限制每个远程IP地址的客户端同时打开连接不能超过5个。 十、只允许我们的域名的访问 如果机器人只是随机扫描服务器的所有域名,那拒绝这个请求。你必须允许配置的虚拟域或反向代理请求。你不必使用IP地址来拒绝。 Only requests to our Host are allowed i.e. nixcraft.in, images.nixcraft.in and www.nixcraft.in if ($host !~ ^(nixcraft.in|www.nixcraft.in|images.nixcraft.in)$ ) { return 444; } 十一、限制可用的请求方法 GET和POST是互联网上最常用的方法。 Web服务器的方法被定义在RFC 2616。如果Web服务器不要求启用所有可用的方法,它们应该被禁用。下面的指令将过滤只允许GET,HEAD和POST方法: Only allow these request methods if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } Do not accept DELETE, SEARCH and other methods 更多关于HTTP方法的介绍 GET方法是用来请求,如文件http://www.moqifei.com/index.php。 HEAD方法是一样的,除非该服务器的GET请求无法返回消息体。 POST方法可能涉及到很多东西,如储存或更新数据,或订购产品,或通过提交表单发送电子邮件。这通常是使用服务器端处理,如PHP,Perl和Python等脚本。如果你要上传的文件和在服务器处理数据,你必须使用这个方法。 十二、如何拒绝一些User-Agents? 你可以很容易地阻止User-Agents,如扫描器,机器人以及滥用你服务器的垃圾邮件发送者。 Block download agents if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } 阻止Soso和有道的机器人: Block some robots if ($http_user_agent ~* Sosospider|YodaoBot) { return 403; } 十三、如何防止图片盗链 图片或HTML盗链的意思是有人直接用你网站的图片地址来显示在他的网站上。最终的结果,你需要支付额外的宽带费用。这通常是在论坛和博客。我强烈建议您封锁,并阻止盗链行为。 Stop deep linking or hot linking location /images/ { valid_referers none blocked www.example.com example.com; if ($invalid_referer) { return 403; } } 例如:重定向并显示指定图片 valid_referers blocked www.example.com example.com; if ($invalid_referer) { rewrite ^/images/uploads.*.(gif|jpg|jpeg|png)$ http://www.examples.com/banned.jpg last } 十四、目录限制 你可以对指定的目录设置访问权限。所有的网站目录应该一一的配置,只允许必须的目录访问权限。 通过IP地址限制访问 你可以通过IP地址来限制访问目录/admin/: location /docs/ { block one workstation deny 192.168.1.1; allow anyone in 192.168.1.0/24 allow 192.168.1.0/24; drop rest of the world deny all; } 通过密码保护目录 首先创建密码文件并增加“user”用户: mkdir /usr/local/nginx/conf/.htpasswd/ htpasswd -c /usr/local/nginx/conf/.htpasswd/passwd user 编辑nginx.conf,加入需要保护的目录: Password Protect /personal-images/ and /delta/ directories location ~ /(personal-images/.|delta/.) { auth_basic “Restricted”; auth_basic_user_file /usr/local/nginx/conf/.htpasswd/passwd; } 一旦密码文件已经生成,你也可以用以下的命令来增加允许访问的用户: htpasswd -s /usr/local/nginx/conf/.htpasswd/passwd userName 十五、Nginx SSL配置 HTTP是一个纯文本协议,它是开放的被动监测。你应该使用SSL来加密你的用户内容。 创建SSL证书 执行以下命令: cd /usr/local/nginx/conf openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 编辑nginx.conf并按如下来更新: server { server_name example.com; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key; access_log /usr/local/nginx/logs/ssl.access.log; error_log /usr/local/nginx/logs/ssl.error.log; } 重启nginx: /usr/local/nginx/sbin/nginx -s reload 十六、Nginx与PHP安全建议 PHP是流行的服务器端脚本语言之一。如下编辑/etc/php.ini文件: Disallow dangerous functions disable_functions = phpinfo, system, mail, exec Try to limit resources Maximum execution time of each script, in seconds max_execution_time = 30 Maximum amount of time each script may spend parsing request data max_input_time = 60 Maximum amount of memory a script may consume (8MB) memory_limit = 8M Maximum size of POST data that PHP will accept. post_max_size = 8M Whether to allow HTTP file uploads. file_uploads = Off Maximum allowed size for uploaded files. upload_max_filesize = 2M Do not expose PHP error messages to external users display_errors = Off Turn on safe mode safe_mode = On Only allow access to executables in isolated directory safe_mode_exec_dir = php-required-executables-path Limit external access to PHP environment safemode_allowed_env_vars = PHP Restrict PHP information leakage expose_php = Off Log all errors log_errors = On Do not register globals for input data register_globals = Off Minimize allowable PHP post size post_max_size = 1K Ensure PHP redirects appropriately cgi.force_redirect = 0 Disallow uploading unless necessary file_uploads = Off Enable SQL safe mode sql.safe_mode = On Avoid Opening remote files allow_url_fopen = Off 十七、如果可能让Nginx运行在一个chroot监狱 把nginx放在一个chroot监狱以减小潜在的非法进入其它目录。你可以使用传统的与nginx一起安装的chroot。如果可能,那使用FreeBSD jails,Xen,OpenVZ虚拟化的容器概念。 十八、在防火墙级限制每个IP的连接数 网络服务器必须监视连接和每秒连接限制。PF和Iptales都能够在进入你的nginx服务器之前阻止最终用户的访问。 Linux Iptables:限制每次Nginx连接数 下面的例子会阻止来自一个IP的60秒钟内超过15个连接端口80的连接数。 /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 15 -j DROP service iptables save 请根据你的具体情况来设置限制的连接数。 十九:配置操作系统保护Web服务器 像以上介绍的启动SELinux.正确设置/nginx文档根目录的权限。Nginx以用户nginx运行。但是根目录(/nginx或者/usr /local/nginx/html)不应该设置属于用户nginx或对用户nginx可写。找出错误权限的文件可以使用如下命令: find /nginx -user nginx find /usr/local/nginx/html -user nginx 确保你更所有权为root或其它用户,一个典型的权限设置 /usr/local/nginx/html/ ls -l /usr/local/nginx/html/ 示例输出: -rw-r–r– 1 root root 925 Jan 3 00:50 error4xx.html -rw-r–r– 1 root root 52 Jan 3 10:00 error5xx.html -rw-r–r– 1 root root 134 Jan 3 00:52 index.html 你必须删除由vi或其它文本编辑器创建的备份文件: find /nginx -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ find /usr/local/nginx/html/ -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ 通过find命令的-delete选项来删除这些文件。 二十、限制Nginx连接传出 黑客会使用工具如wget下载你服务器本地的文件。使用Iptables从nginx用户来阻止传出连接。ipt_owner模块试图匹配本地产生的数据包的创建者。下面的例子中只允许user用户在外面使用80连接。 /sbin/iptables -A OUTPUT -o eth0 -m owner –uid-owner vivek -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT 通过以上的配置,你的nginx服务器已经非常安全了并可以发布网页。可是,你还应该根据你网站程序查找更多的安全设置资料。例如,wordpress或者第三方程序。

KB小秘书 2019-12-02 02:06:56 0 浏览量 回答数 0

问题

[IBM DW] 用 inotify 监控 Linux 文件系统事件:报错

kun坤 2020-06-07 16:43:37 0 浏览量 回答数 1

问题

分析型数据库如何导入数据

nicenelly 2019-12-01 21:09:37 1235 浏览量 回答数 0

问题

PHP加速 eAccelerator 配置和使用指南:配置报错 

kun坤 2020-06-02 15:46:18 0 浏览量 回答数 1

问题

用PDO和准备好的语句替换mysql_ *函数?mysql

保持可爱mmm 2020-05-17 19:57:22 5 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南 :报错

kun坤 2020-06-14 16:05:07 1 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南,报错

一枚小鲜肉帅哥 2020-05-27 21:24:00 6 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南-php报错

montos 2020-06-01 18:18:52 0 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南 - php报错

montos 2020-06-03 22:25:14 1 浏览量 回答数 1

回答

---数据库版本 select * from v$version ---SCOTT默认表空间以及用户 select u.username,u.default_tablespace from dba_users u where u.username='SCOTT' select * from database_properties dp where dp.property_name='DEFAULT_PERMANENT_TABLESPACE'; select u.username,u.default_tablespace from dba_users u where u.username='dborcl' select * from dba_tablespaces ---1.首先,创建(新)用户: create user gaohao identified by gaohao; --也可以不创建新用户,而仍然用以前的用户,如:继续利用scott用户 ---2.创建表空间: create tablespace ZTTM datafile 'd:\oracle\data.dbf' size 500M; ---3.将空间分配给用户: alter user gaohao default tablespace ZTTM; ---将名字为tablespacename的表空间分配给username ---4.给用户授权: grant create session,create table,unlimited tablespace to gaohao; ---5.然后再以楼主自己创建的用户登录,登录之后创建表即可。 create user ZTTM identified by zttm; alter user ZTTM default tablespace ZTTM; grant create session,create table,unlimited tablespace to ZTTM; ---建表 create table UserInfo ( USERID int primary key , UNAME varchar(20) not null, ISMARRAY char(5) not null, ISONJOB char(5) not null, REMARK varchar(500) null ) insert into UserInfo values(1,'Tom','0','0','*****************************'); insert into UserInfo values(2,'JACK','1','0','JJJJJJJJJJJJJJJJJJJJJJJJJ'); insert into UserInfo values(3,'JIM','0','1','WWWWWWWWWWWWWWW'); insert into UserInfo values(4,'BOT','1','1','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'); insert into UserInfo values(5,'KATE','1','0','GGGGGGGGGGGGGGGGGGGGGGGG'); insert into UserInfo values(6,'BRAN','0','1','HHHHHHHHHHHHHHHHHHHHHHHHHHHHH'); insert into UserInfo values(7,'JUN','1','1','RRRRRRRRRRRRRRRRRRRRRRRRRRR'); insert into UserInfo values(8,'ANDRUE','1','1','EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE'); insert into UserInfo values(9,'ALICE','1','0','VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'); insert into UserInfo values(10,'HANKS','0','1','QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'); insert into UserInfo values(11,'KEBE','0','1','BNNNNNNNNNNNNNNNNNNNNNNNN'); insert into UserInfo values(12,'SAM','1','0','ZXXXXXXXXXXXXXXXXXXXXXXXXXXXX'); insert into UserInfo values(13,'BOB','0','0','TTTTTTTTTTTTTTTTTTTTTTTTTTTT'); select * from UserInfo; select to_date('20120725115536','yyyy-MM-dd HH24:mi:ss') TimeStamp from dual grant select on v_$statname to gaohao; grant select on v_$session to gaohao; grant select on v_$sesstat to gaohao; grant select on v_$mystat to gaohao; grant select on v_$statname to ZTTM; grant select on v_$session to ZTTM; grant select on v_$sesstat to ZTTM; grant select on v_$mystat to ZTTM; select u.USERID,--员工编号 u.UNAME, --员工姓名 u.ISMARRAY, --婚否 u.ISONJOB,--是否在职 u.REMARK --备注 from UserInfo u where u.USERID like '%1%' select to_char(to_date('20120727094755','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') CurrentTime from dual select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') CurrentTime from dual; select TO_DATE(null) from dual; /SQL语句/ select * from log_cpuidle where idle_date = (select to_char(sysdate-1,'DD-MON-YY') from dual); /*其中idle_date是DATE类型的,不知道为啥要将sysdate进行转换,只有这样才能查找到日期是前一天的数据; 其中要注意的是sysdate对应的格式为DD-MON-YY;*/ insert into table select a, b, count()c,avg(d),e from LOG_TABLE where a=(select to_char(sysdate-1, 'DD-MON-YY') from dual) group by a, b, e order by b; / 复合型的insert 语句; 取前几行的数据用rownum;select * from table where rownum < 10; group by:分组查询,一般和聚合函数(AVG、SUM、MAX、COUNT等)一起使用,它后面可以跟having限制性语句; order by:select “栏位名” from “表格”[where “条件”] order by “栏位名”[asc, desc]*/ •/============创建Customer表==========/ •create table Customer •( • Customer_id number(6) not null, • Customer_name varchar2(50) not null, • Password varchar2(20) not null, • True_name varchar2(20), • Email_address varchar2(50) not null, --唯一 • Password_question varchar2(50) not null, • Password_anwser varchar2(50) not null, • Status char(1), --默认是1,取值0或1 • Customer_level char(1), --默认是1,取值1,2,3 • Score number(6), • Register_date date, --默认为系统时间 • Login_time timestamp, • Login_count number(6), • Login_ip char(6) •); •/===========创建Orders表==========/ •create table Orders •( • Order_id varchar2(10) not null, • Order_Customer_id number(6) not null, • Order_date date not null, • Order_price number not null •); •/==========查询Customer表===========/ •select * from Customer • •/==========向表中添加数据===========/ •insert into Customer values •(220077,'wantingqiang','wtq','万廷强','lovezhqj@qq.com','你是哪个?','wtq','1','3',150,sysdate,sysdate,15789,'172.26') • •/==========修改表Customer===========/ •alter table Customer •modify Login_ip char(16); • •/=========修改第一条记录中的ip=====/ •update Customer set Login_ip='172.26.3.145' where Customer_id='220077';--ip地址修改成功 • •/=========添加一个列===============/ •alter table Customer •add LoginOut_time date; --新列增加成功 • •/=========删除一个列LoginOut_time========/ •alter table Customer •drop column LoginOut_time; --列删除成功 • •/========给列添加注释===========/ •comment on column • Customer.Customer_Name is '客户姓名'; • •/========给表添加注释==========/ •comment on table Customer is '客户表,为了保持与客户的联系'; • •/========重新命名表============/ •alter table Customer rename to Customer_Change; • •select * from Customer_Change • •alter table Customer_Change rename to Customer; • •/==========添加非空约束========/ •alter table Customer •modify status not null; --非空约束添加成功 • •/==========添加主键约束========/ •alter table Customer •add constraint customer_id_pk primary key(Customer_id); --主键添加成功 • •/==========添加外键约束========/ •--向Orders表中添加外键,与Customer表关联 •--在下面的列子末尾加上: •--on delete 表示允许级联删除 •--on update 表示允许级联更新 •alter table Orders •add constraint Orders_Customer_fk foreign key(Order_Customer_id) references Customer(Customer_id); •--外键添加成功 •/==========删除外键约束=========/ •alter table Orders •drop constraint "ORDERS_CUSTOMER_FK"; --外键删除成功,这个要注意大小写哈 • •/=========添加唯一约束========/ •alter table Customer •add constraint un_email unique(Email_address); --添加唯一约束成功 • • •/=========修改默认约束========/ •alter table Customer •modify Status default('1'); • •/=========添加检查约束========/ •alter table Customer •add constraint ck_status check(Status in ('1','0')); --检查约束添加成功 • • •/==========禁止检查约束=======/ •alter table Customer • disable constraint ck_status; --禁止成功 • •/==========激活检查约束=======/ •alter table Customer • enable constraint ck_status; --激活成功 • •/==========删除检查约束========/ •alter table Customer •drop constraint ck_status; --删除检查约束成功 • •/==========最后是删除表========/ •drop table Customer; --删除表成功 /使用SQLPLUS(1) SQL> desc table; 显示表结构 SQL> select * from tab; 查看用户下所有的表 SQL> set pause on; 可以使大量结果集在用户按“Enter”(回车)后翻页 SQL> set pagesize 100; 设定SQL语句返回结果集一页的行数100, 默认值是14 SQL> set linesize 100; 设定SQL语句返回结果集一行的宽度100, 默认值是80*/ /*常用的日期处理函数 oracle内部以数字格式存储日期和时间信息:世纪,年,月,日,小时,分钟,秒 临时表dual表 缺省格式:DD-MON-YY('14-3月-08') round(to_date('14-3月-08'),'month') 可使用sysdate函数(没有参数和括号)获取当前系统日期和时间 日期数据直接加或减一个数值(不一定是整数,代表的是多少天),结果仍为日期(约定的单位为天,当然也可以为月或年) 两个日期数据可以相减(不可相加,没有意义 ),结果为二者相差多少天 add_months(日期x,数值y):计算在日期x基础上增加y个月后的日期 add_months(sysdate,2) last_day(s) 返回日期x当月最后一天的日期 last_day(sysdate) months_between(x,y) 返回日期x和y之间相差的月数 months_between(sysdate,sysdate) 有正负号之分(参数前后关系有关) round(x,y) 四舍五入将日期x截断到y所指定的日期单位(月或年)的第一天 round(sysdate,'month') 3月14号为3月1号 3月16号为4月1号 年的同理round(sysdate,'year') trunc(x,y) 将日期x截断到y所指定的日期单位(月或年)的第一天,不四舍五入trunc(sysdate,'month')trunc(sysdate,'year') next_day(x,y) 计算指定日期x后的第一个星期几(由参数y指定)对应的日期 next_day(sysdate,'星期二')*/ select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年 select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月 select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日 select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时 select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分 select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒 select floor(sysdate - to_date('20020405','yyyymmdd')) from dual; /设置两个日期之间的天数;/ select count(*)from ( select rownum-1 rnum from all_objects where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-02-01','yyyy-mm-dd')+1 ) where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' ) not in ( '1', '7' ) select TO_CHAR(SYSDATE,'DDD'),sysdate from dual /显示今天是一年中的第几天;/ /计算时间差 注:oracle时间差是以天数为单位,所以换算成年月,日 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual // 时间差-年 select ceil(moths_between(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual //时间差-月 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual //时 间差-天 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))24) as spanHours from dual // 时间差-时 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))2460) as spanMinutes from dual //时间差-分 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))246060) as spanSeconds from dual //时间差-秒/ /TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 显示值:2007 Month: mm number 两位月 显示值:11 mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02 ddd number 当年第几天 显示值:02 dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri day spelled out 当周第几天全写 显示值:星期五,若是英文版,显示friday ddspth spelled out, ordinal twelfth/ /日期的比较/ /在今天之前:/ select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') select * from up_date where update <= to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') /在今天只后:/ select * from up_date where update > to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') select * from up_date where update >= to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') /精确时间:/ select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') /在某段时间内:/ select * from up_date where update between to_date('2007-07-07 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') and update > to_date('2007-07-07 00:00:00','yyyy-mm-dd hh24:mi:ss') select * from up_date where update <= to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss') and update >= to_date('2007-07-07 00:00:00','yyyy-mm-dd hh24:mi:ss') /日期时间间隔操作/   /*当前时间减去7分钟的时间 */  select sysdate,sysdate - interval '7' MINUTE from dual /*当前时间减去7小时的时间 */  select sysdate - interval '7' hour from dual /*当前时间减去7天的时间 */  select sysdate - interval '7' day from dual /当前时间减去7月的时间/ select sysdate,sysdate - interval '7' month from dual /当前时间减去7年的时间/ select sysdate,sysdate - interval '7' year from dual /时间间隔乘以一个数字/ select sysdate,sysdate - 8 *interval '2' hour from dual /返回当前时间 年月日小时分秒毫秒/   select to_char(current_timestamp(5),'DD-MON-YYYY HH24:MI:SSxFF') from dual; --返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)   select to_char(current_timestamp(9),'MI:SSxFF') from dual; /Oracle SQL 语句对时间操作的总结/ /在SQL语句中,常常用会对时间(或日期)进行一些处理,下面是比较通用的一些语句: 延迟: sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdate+5 在系统时间基础上延迟5天 add_months(sysdate,-5) 在系统时间基础上延迟5月 add_months(sysdate,-512) 在系统时间基础上延迟5年 */ /上月末的日期:/ select last_day(add_months(sysdate, -1)) from dual; /本月的最后一秒:/ select trunc(add_months(sysdate,1),'MM') - 1/24/60/60 from dual /本周星期一的日期:/ select trunc(sysdate,'day')+1 from dual /年初至今的天数:/ select ceil(sysdate - trunc(sysdate, 'year')) from dual; /今天是今年的第几周 :/ select to_char(sysdate,'fmww') from dual /今天是本月的第几周:/ SELECT TO_CHAR(SYSDATE,'WW') - TO_CHAR(TRUNC(SYSDATE,'MM'),'WW') + 1 AS "weekOfMon" FROM dual /本月的天数/ SELECT to_char(last_day(SYSDATE),'dd') days FROM dual /今年的天数/ select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual /下个星期一的日期/ SELECT Next_day(trunc(SYSDATE),'monday') FROM dual ================================ /计算工作日方法/ create table t(s date,e date); alter session set nls_date_format = 'yyyy-mm-dd'; insert into t values('2003-03-01','2003-03-03'); insert into t values('2003-03-02','2003-03-03'); insert into t values('2003-03-07','2003-03-08'); insert into t values('2003-03-07','2003-03-09'); insert into t values('2003-03-05','2003-03-07'); insert into t values('2003-02-01','2003-03-31'); -- 这里假定日期都是不带时间的,否则在所有日期前加trunc即可。 select s,e,e-s+1 total_days, trunc((e-s+1)/7)*5 + length(replace(substr('01111100111110',to_char(s,'d'),mod(e-s+1,7)),'0','')) work_days from t; -- drop table t; ======================================================== /判断当前时间是上午下午还是晚上/ SELECT CASE WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 6 AND 11 THEN '上午' WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 11 AND 17 THEN '下午' WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 17 AND 21 THEN '晚上' END FROM dual; ========================================================== /Oracle 中的一些处理日期/ /将数字转换为任意时间格式.如秒:需要转换为天/小时/ SELECT to_char(floor(TRUNC(936000/(6060))/24))||'天'||to_char(mod(TRUNC(936000/(6060)),24))||'小时' FROM DUAL TO_DATE格式 /*Day: dd number 12 dy abbreviated fri day spelled out friday ddspth spelled out, ordinal twelfth Month: mm number 03 mon abbreviated mar month spelled out march Year: yy two digits 98 yyyy four digits 1998 24小时格式下时间范围为: 0:00:00 - 23:59:59.... 12小时格式下时间范围为: 1:00:00 - 12:59:59 .... 日期和字符转换函数 用法(to_date,to_char) */ 2. select to_char( to_date(222,'J'),'Jsp') from dual /*显示Two Hundred Twenty-Two */ /*3. 求某天是星期几 */ select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual; select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; /设置日期语言/ ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN'; /*也可以这样 */ TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American') /*4. 两个日期间的天数 */ select floor(sysdate - to_date('20020405','yyyymmdd')) from dual; /*5. 时间为null的用法 */ select id, active_date from table1 UNION select 1, TO_DATE(null) from dual; /注意要用TO_DATE(null)/ /*6. a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd') 那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。 所以,当时间需要精确的时候,觉得to_char还是必要的 日期格式冲突问题 输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01' */ alter system set NLS_DATE_LANGUAGE = American alter session set NLS_DATE_LANGUAGE = American /*或者在to_date中写 */ select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; /注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多, 可查看/ select * from nls_session_parameters select * from V$NLS_PARAMETERS 8. select count(*) from ( select rownum-1 rnum from all_objects where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002- 02-01','yyyy-mm-dd')+1 ) where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' ) not in ( '1', '7' ) /*查找2002-02-28至2002-02-01间除星期一和七的天数 在前后分别调用DBMS_UTILITY.GET_TIME, 然后将结果相减(得到的是1/100秒, 而不是毫秒). */ 9. select months_between(to_date('01-31-1999','MM-DD-YYYY'), to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL; 1 select months_between(to_date('02-01-1999','MM-DD-YYYY'), to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL; 1.03225806451613 /*10. Next_day的用法 Next_day(date, day) */ /*Monday-Sunday, for format code DAY Mon-Sun, for format code DY 1-7, for format code D */ 11 select to_char(sysdate,'hh:mi:ss') TIME from all_objects /*注意:第一条记录的TIME 与最后一行是一样的 可以建立一个函数来处理这个问题 */ create or replace function sys_date return date is begin return sysdate; end; select to_char(sys_date,'hh:mi:ss') from all_objects; /*12. 获得小时数 */ SQL> select sysdate ,to_char(sysdate,'hh') from dual; SYSDATE TO_CHAR(SYSDATE,'HH') 2003-10-13 19:35:21 07 SQL> select sysdate ,to_char(sysdate,'hh24') from dual; SYSDATE TO_CHAR(SYSDATE,'HH24') 2003-10-13 19:35:21 19 /*获取年月日与此类似 */ /*13. 年月日的处理 / select older_date, newer_date, years, months, abs( trunc( newer_date- add_months( older_date,years12+months ) ) ) days from ( select trunc(months_between( newer_date, older_date )/12) YEARS, mod(trunc(months_between( newer_date, older_date )), 12 ) MONTHS, newer_date, older_date from ( select hiredate older_date, add_months(hiredate,rownum)+rownum newer_date from emp ) ) /*14. 处理月份天数不定的办法 */ select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual /*16. 找出今年的天数 */ select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual /*闰年的处理方法 */ to_char( last_day( to_date('02' | | :year,'mmyyyy') ), 'dd' ) /*如果是28就不是闰年 */ /*17. yyyy与rrrr的区别 / /'YYYY99 TO_C yyyy 99 0099 rrrr 99 1999 yyyy 01 0001 rrrr 01 2001 18.不同时区的处理 */ select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate from dual; /*19. 5秒钟一个间隔 */ Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS') from dual TO_DATE(FL TO_CH 2007-01-01 60368 /*SSSSS表示5位秒数 */ /*20. 一年的第几天 */ select TO_CHAR(SYSDATE,'DDD'),sysdate from dual TO_ SYSDATE 017 2007-01-17 /21.计算小时,分,秒,毫秒 / select Days, A, TRUNC(A24) Hours, TRUNC(A2460 - 60TRUNC(A24)) Minutes, TRUNC(A246060 - 60TRUNC(A2460)) Seconds, TRUNC(A246060100 - 100TRUNC(A2460*60)) mSeconds from ( select trunc(sysdate) Days, sysdate - trunc(sysdate) A from dual ) select * from tabname order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss'); /*// floor((date2-date1) /365) 作为年 floor((date2-date1, 365) /30) 作为月 mod(mod(date2-date1, 365), 30) 作为日. */ /*22.next_day函数 */ /*next_day(sysdate,6)是从当前开始下一个星期五。后面的数字是从星期日开始算起。 1 2 3 4 5 6 7 日 一 二 三 四 五 六 */ select (sysdate-to_date('2003-12-03 12:55:45','yyyy-mm-dd hh24:mi:ss'))2460*60 from dual /*日期 返回的是天 然后 转换为ss */ select (sysdate-to_date('2003-12-03 12:55:45','yyyy-mm-dd hh24:mi:ss'))2460 from dual ; select (sysdate-to_date('2003-12-03 12:55:45','yyyy-mm-dd hh24:mi:ss'))*24 from dual ; select (sysdate-to_date('2012-07-23 12:55:45','yyyy-mm-dd hh24:mi:ss'))*24 from dual ; select (sysdate-to_date('2003-12-03 12:55:45','yyyy-mm-dd hh24:mi:ss'))2460*60 from dual ; Oracle中TO_DATE格式 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 显示值:2007 Month: mm number 两位月 显示值:11 mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02 ddd number 当年第几天 显示值:02 dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri day spelled out 当周第几天全写 显示值:星期五,若是英文版,显示friday ddspth spelled out, ordinal twelfth Hour: hh two digits 12小时进制 显示值:01 hh24 two digits 24小时进制 显示值:13 Minute: mi two digits 60进制 显示值:45 Second: ss two digits 60进制 显示值:25 其它 Q digit 季度 显示值:4 WW digit 当年第几周 显示值:44 W digit 当月第几周 显示值:1 24小时格式下时间范围为: 0:00:00 - 23:59:59.... 12小时格式下时间范围为: 1:00:00 - 12:59:59 .... 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年 select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月 select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日 select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时 select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分 select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒 select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual// select to_char( to_date(222,'J'),'Jsp') from dual 显示Two Hundred Twenty-Two 3.求某天是星期几 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual; 星期一 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; monday 设置日期语言 ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN'; 也可以这样 TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American') 两个日期间的天数 select floor(sysdate - to_date('20020405','yyyymmdd')) from dual; 时间为null的用法 select id, active_date from table1 UNION select 1, TO_DATE(null) from dual; 注意要用TO_DATE(null) 6.月份差 a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd') 那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。 所以,当时间需要精确的时候,觉得to_char还是必要的 日期格式冲突问题 输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01' alter system set NLS_DATE_LANGUAGE = American alter session set NLS_DATE_LANGUAGE = American 或者在to_date中写 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; 注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多, 可查看 select * from nls_session_parameters select * from V$NLS_PARAMETERS select count(*) from ( select rownum-1 rnum from all_objects where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002- 02-01','yyyy-mm-dd')+1 ) where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' ) not in ( '1', '7' ) 查找2002-02-28至2002-02-01间除星期一和七的天数 在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒). 查找月份 select months_between(to_date('01-31-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL; 1 select months_between(to_date('02-01-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL; 1.03225806451613 Next_day的用法 Next_day(date, day) Monday-Sunday, for format code DAY Mon-Sun, for format code DY 1-7, for format code D 11 select to_char(sysdate,'hh:mi:ss') TIME from all_objects 注意:第一条记录的TIME 与最后一行是一样的 可以建立一个函数来处理这个问题 create or replace function sys_date return date is begin return sysdate; end; select to_char(sys_date,'hh:mi:ss') from all_objects; 12.获得小时数 extract()找出日期或间隔值的字段值 SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer SQL> select sysdate ,to_char(sysdate,'hh') from dual; SYSDATE TO_CHAR(SYSDATE,'HH') -------------------- --------------------- 2003-10-13 19:35:21 07 SQL> select sysdate ,to_char(sysdate,'hh24') from dual; SYSDATE TO_CHAR(SYSDATE,'HH24') -------------------- ----------------------- 2003-10-13 19:35:21 19 13.年月日的处理 select older_date, newer_date, years, months, abs( trunc( newer_date- add_months( older_date,years*12+months ) ) ) days from ( select trunc(months_between( newer_date, older_date )/12) YEARS, mod(trunc(months_between( newer_date, older_date )),12 ) MONTHS, newer_date, older_date from ( select hiredate older_date, add_months(hiredate,rownum)+rownum newer_date from emp ) ) 14.处理月份天数不定的办法 select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual 16.找出今年的天数 select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual 闰年的处理方法 to_char( last_day( to_date('02' | | :year,'mmyyyy') ), 'dd' ) 如果是28就不是闰年 17.yyyy与rrrr的区别 'YYYY99 TO_C yyyy 99 0099 rrrr 99 1999 yyyy 01 0001 rrrr 01 2001 18.不同时区的处理 select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate from dual; 19.5秒钟一个间隔 Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS') from dual 2002-11-1 9:55:00 35786 SSSSS表示5位秒数 20.一年的第几天 select TO_CHAR(SYSDATE,'DDD'),sysdate from dual 310 2002-11-6 10:03:51 21.计算小时,分,秒,毫秒 select Days, A, TRUNC(A24) Hours, TRUNC(A2460 - 60TRUNC(A24)) Minutes, TRUNC(A246060 - 60TRUNC(A2460)) Seconds, TRUNC(A246060100 - 100TRUNC(A2460*60)) mSeconds from ( select trunc(sysdate) Days, sysdate - trunc(sysdate) A from dual ) select * from tabname order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss'); // floor((date2-date1) /365) 作为年 floor((date2-date1, 365) /30) 作为月 d(mod(date2-date1, 365), 30)作为日. 23.next_day函数 返回下个星期的日期,day为1-7或星期日-星期六,1表示星期日 next_day(sysdate,6)是从当前开始下一个星期五。后面的数字是从星期日开始算起。 1 2 3 4 5 6 7 日 一 二 三 四 五 六 select (sysdate-to_date('2003-12-03 12:55:45','yyyy-mm-dd hh24:mi:ss'))2460*60 from ddual 日期 返回的是天 然后 转换为ss 24,round舍入到最接近的日期 select sysdate S1, round(sysdate) S2 , round(sysdate,'year') YEAR, round(sysdate,'month') MONTH , round(sysdate,'day') DAY from dual 25,trunc[截断到最接近的日期,单位为天] ,返回的是日期类型 select sysdate S1, trunc(sysdate) S2, //返回当前日期,无时分秒 trunc(sysdate,'year') YEAR, //返回当前年的1月1日,无时分秒 trunc(sysdate,'month') MONTH , //返回当前月的1日,无时分秒 trunc(sysdate,'day') DAY //返回当前星期的星期天,无时分秒 from dual 26,返回日期列表中最晚日期 select greatest('01-1月-04','04-1月-04','10-2月-04') from dual 27.计算时间差 注:oracle时间差是以天数为单位,所以换算成年月,日 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual //时间差-年 select ceil(moths_between(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual //时间差-月 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual //时间差-天 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual //时间差-时 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual //时间差-分 select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual //时间差-秒 28.更新时间 注:oracle时间加减是以天数为单位,设改变量为n,所以换算成年月,日 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n*365,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //改变时间-年 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),add_months(sysdate,n) as newTime from dual //改变时间-月 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //改变时间-日 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //改变时间-时 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //改变时间-分 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate+n/24/60/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual //改变时间-秒 29.查找月的第一天,最后一天 SELECT Trunc(Trunc(SYSDATE, 'MONTH') - 1, 'MONTH') First_Day_Last_Month, Trunc(SYSDATE, 'MONTH') - 1 / 86400 Last_Day_Last_Month, Trunc(SYSDATE, 'MONTH') First_Day_Cur_Month, LAST_DAY(Trunc(SYSDATE, 'MONTH')) + 1 - 1 / 86400 Last_Day_Cur_Month FROM dual;

保持可爱mmm 2020-04-15 23:33:10 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 阿里云双十一主会场 阿里云双十一新人会场 1024程序员加油包 阿里云双十一拼团会场 场景化解决方案 阿里云双十一直播大厅 阿里云双十一企业上云会场