解决 centos 安装 mysql 依赖出错问题提示保护多库版本

当执行以下命令安装依赖时候:yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 时候出现了如下错误:Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: mirrors.cn99.comSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package libaio.i686 0:0.3.107-10.el6 will be installed---> Package libgcc.i686 0:4.4.7-23.el6 will be installed---> Package libstdc++.i686 0:4.4.7-23.el6 will be installed--> Finished Dependency ResolutionError:  Multilib version problems found. This often means that the root       cause is something else and multilib version checking is just       pointing out that there is a problem. Eg.:                1. You have an upgrade for libgcc which is missing some            dependency that another package requires. Yum is trying to            solve this by installing an older version of libgcc of the            different architecture. If you exclude the bad architecture            yum will tell you what the root cause is (which package            requires what). You can try redoing the upgrade with            --exclude libgcc.otherarch ... this should give you an error            message showing the root cause of the problem.                2. You have multiple architectures of libgcc installed, but            yum can only see an upgrade for one of those arcitectures.            If you don't want/need both architectures anymore then you            can remove the one with the missing update and everything            will work.                3. You have duplicate versions of libgcc installed already.            You can use "yum check" to get yum show these errors.              ...you can also use --setopt=protected_multilib=false to remove       this checking, however this is almost never the correct thing to       do as something else is very likely to go wrong (often causing       much more problems).              Protected multilib versions: libgcc-4.4.7-23.el6.i686 != libgcc-4.4.7-4.el6.x86_64 You could try using --skip-broken to work around the problem** Found 6 pre-existing rpmdb problem(s), 'yum check' output follows:1:libreoffice-core-4.0.4.2-9.el6.x86_64 has missing requires of libjawt.so()(64bit)1:libreoffice-core-4.0.4.2-9.el6.x86_64 has missing requires of libjawt.so(SUNWprivate_1.1)(64bit)1:libreoffice-ure-4.0.4.2-9.el6.x86_64 has missing requires of jre >= ('0', '1.5.0', None)2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16()(64bit)2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of mysql-libs 解决方法也很简单,用下列代码执行安装即可:yum install --setopt=protected_multilib=false libaio.so.1 libgcc_s.so.1 libstdc++.so.6

windows 系统下解决 redis 服务器软件闪退问题

我下载的是免安装版的 window 版 redis,解压后如下:刚解压开直接双击 redis-server.exe 启动 redis 或者在命令提示符中找到路径启动,但当第二次使用的时候,发现双击 redis-server 闪退,在命令提示符启动也报错(该错误其实由于电脑内存不足影响的),我百度了好多解决方式,但是都没用,最后终于找到一个适合自己电脑上 redis 的解决方式,仅供参考,如下:第一步:在解压的 redis 文件夹下新建一个 start.bat(window 启动一般都是 xx.bat)第二步:打开 redis.windows.conf 文件,限制内存              大约 300 多行的位置加一句 maxheap 1024000000 即可    # maxheap <bytes>    maxheap 1024000000 第三步:在新建的 start.bat 文件中加入下面一句话(因为启动 redis 需要用到这两个文件)redis-server.exe  redis.windows.conf以上三个步骤完成之后,保存,双击 start.bat 即可启动

windows 系统下解决 redis 服务器软件闪退问题

Java Web 将多个 servlet 封装在一个 class 类中

建个基础 servlet 类继承 HttpServlet,其中除了可以反射方法外也可以写些常用的方法 :public class BaseServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 重写 service 方法 完成方法分发 /* 获取请求路径 * 获取方法名称 * 获取方法对象 * 执行反射 */ String requestURI = req.getRequestURI(); // 获取 uri String methodName = requestURI.substring(requestURI.indexOf("/") + 1); //substring 获取方法名 try {Method method = this.getClass().getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class); method.invoke(this,req,resp); // 此处的 this 指入口的 class,非此 class } catch (NoSuchMethodException e) {e.printStackTrace(); } catch (IllegalAccessException e) {e.printStackTrace(); } catch (InvocationTargetException e) {e.printStackTrace(); } } /** * 直接将传入对象序列化为 json * 并传给浏览器 * @param obj * @param response * @throws IOException */ public void writeValue(Object obj,HttpServletResponse response) throws IOException {ObjectMapper mapper = new ObjectMapper(); response.setContentType("application/json;charset=utf-8"); // 设置编码 注意两个设置字段中间用分号隔开 mapper.writeValue(response.getOutputStream(),obj); } public String writeValueAsString(Object obj) throws JsonProcessingException {ObjectMapper mapper = new ObjectMapper(); return mapper.writeValueAsString(obj); // 将传入对象序列化为 json 并返回字符 }} 相关 servlet 均继承 baseservlet@WebServlet("/user/*")public class UserServlet extends BaseServlet { /* 原本新建的 get post 方法改成你需要的方法 protected 修饰改成 public 否则需要在 baseServlet 中暴力反射 不建议使用暴力反射 申明 UserService 业务对象 方便使用 声明业务或 dao 对象一般先建接口 然后再实现 */ UserService service = new UserServiceImpl(); // 访问 域名 /user/regist 即可以访问下列方法 public void regist(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}}

表单校验 JQuery 与正则的使用

简单讲解下正则的使用:单个字符:[]如: a [a-zA-Z0-9_]特殊符号代表特殊含义的单个字符:\d: 单个数字字符 [0-9]\w: 单个单词字符 [a-zA-Z0-9_] 量词符号:?:表示出现 0 次或 1 次 *:表示出现 0 次或多次 +:出现 1 次或多次 {m,n}: 表示 m<= 数量 <= n* m 如果缺省: {,n}: 最多 n 次 * n 如果缺省:{m,} 最少 m 次 开始结束符号 ^: 开始$: 结束 创建var reg = new RegExp(" 正则表达式 ");var reg = / 正则表达式 /; 方法. test(参数): 验证指定的字符串是否符合正则定义的规范,简单示例:var a="12345";var reg=/^\w{6,12}$/;   // 正则   表示字符数 6 -12var b=reg.test(a); // 此处 a 值不符合返回 falsealert(b);下面以注册表单校验为例:<!-- 导入 jquery--><script src="js/jquery-3.3.1.js"></script><script>    /* 思路:    *  为每个单元格建立校验    *  在输入框离开焦点跟提交时候启用校验 */    function checkUsername() { // 校验用户名        /* 获取用户名值        *  定义正则        *  判断是否为 true*/        var username = $("#username").val();        var reg_username = /^\w{3,10}$/; // 用户名为 3 -10 位字符串        var flag = reg_username.test(username);        if (flag) {            console.log(" 用户名合法 ") // 浏览器控制台显示日志内容   实际不用写            $("#username").css("border", "");        } else {            console.log(" 用户名不合法 ")            $("#username").css("border", "1px solid red");        }        return flag;    }    function checkPassword() {        var password = $("#password").val();        var reg_password = /^\w{6,16}$/; // 密码为 6 -10 位字符串        var flag = reg_password.test(password);        if (flag) {            console.log(" 密码合法 ")            $("#password").css("border", "");        } else {            console.log(" 密码不合法 ")            $("#password").css("border", "1px solid red");        }        return flag;    }    function checkEmail() {        var email = $("#email").val();        var reg_email = /^\w+\@\w+\.\w+$/; // 符合特定格式的字符串   带 @跟.        var flag = reg_email.test(email);        if (flag) {            console.log(" 邮箱合法 ")            $("#email").css("border", "");        } else {            console.log(" 邮箱不合法 ")            $("#email").css("border", "1px solid red");        }        return flag;    }    function checkName() {        var name = $("#name").val();        var reg_name = /^\w{3,10}$/;        var flag = reg_name.test(name);        if (flag) {            console.log(" 姓名合法 ")            $("#name").css("border", "");        } else {            console.log(" 姓名不合法 ")            $("#name").css("border", "1px solid red");        }        return flag;    }    function checkTelephone() {        var telephone = $("#telephone").val();        var reg_telephone = /^\1\d{10}$/; // 首位为 1 后面十位为数字        var flag = reg_telephone.test(telephone);        if (flag) {            console.log(" 手机合法 ")            $("#telephone").css("border", "");        } else {            console.log(" 手机不合法 ")            $("#telephone").css("border", "1px solid red");        }        return flag;    }    function checkCheck() {        var check = $("#check").val();        var reg_check = /^\w{4}$/; // 已知验证码为四位字符        var flag = reg_check.test(check);        if (flag) {            console.log(" 验证码合法 ")            $("#check").css("border", "");        } else {            console.log(" 验证码不合法 ")            $("#check").css("border", "1px solid red");        }        return flag;    }    $(function () {        /* 当表单提交时调用校验方法 */        $("#registerForm").submit(function () {            if (checkName() && checkPassword() && checkName() && checkEmail() && checkTelephone() && checkCheck()) {                $.post("user/regist", $(this).serialize(), function (data) { //serialize()序列化表单内容                    if (data.flag) { // 从服务器获取注册结果                        console.log(" 注册成功 ")                        location.href = "regist_ok.html"; // 注册成功跳转页面                    } else {                        console.log(" 注册失败 ")                        $("#errorMsg").html(data.errorMsg); // 注册失败显示错误信息                    }                })            }        });        $("#username").blur(checkUsername); // 鼠标离开输入框执行事件        $("#password").blur(checkPassword); // 注意方法名后不要加(),否则失焦事件将无异议        $("#email").blur(checkEmail);        $("#name").blur(checkName);        $("#telephone").blur(checkTelephone);        $("#check").blur(checkCheck);    })</script>

MySQL 创建表时,设置自动插入当前时间字段的两种格式

1.timestamp 类型 create table manager(id int not null primary key,mdate timestamp not null default current_timestamp);2.datetime 类型 create table manager(id int not null primary key,mdate datetime);

JQuery 中的 mouseleave 跟 mouseout 事件区别

使用 IDEA 写 JQ 事件时候发现有两种事件都是鼠标离开时触发的,它们分别是 mouseleave 跟 mouseout 为此我也上网百度了下得到两点区别: 不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。 只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。 也就是说假如一个 div1 内部又有个 div2,你在 div1 中绑定了 mouseout,当你鼠标离开 div2 时候也会触发事件,而 leave 不会,因此大家在使用时候建议根据具体情况使用

JQuery 中的 mouseleave 跟 mouseout 事件区别

腾讯云被用户索赔 原来云服务器也一定万无一失!

原标题:腾讯云被用户索赔 网友:赔 13 万太少了吧?腾讯云为什么被用户索赔自媒体前沿数控技术通过网媒指,因腾讯云硬盘故障导致其数据完全丢失,自上月 20 日夜晚 8 时起,平台已全部停运,活跃用户在网站停运的情况下逐渐流失,平台信任度将降至冰点,后续再恢复活跃度面临几何级的极大挑战,广告商亦要求退款赔偿,公司融资计划也被中止,称公司进入生存危机。腾讯云早前曾提出 13.6 万元人民币“赔偿 + 补偿”方案,但遭前沿数控拒绝,前沿数控向腾讯云索赔 1101.6 万元人民币。腾讯云回应称,该硬盘静默错误是在极小概率下被触发。腾讯云随即对固件版本有 bug 的硬盘全部进行下线处理,确保相关隐患全部排除。腾讯云称希望可以尽快帮助用户恢复业务,将损失降低最低,因此提出了“赔偿 + 补偿”解决方案,但目前双方未达成共识。 8 月 6 日午间消息,针对用户“前沿数控”数据丢失一事,腾讯云官方给出回应,并对补偿措施进行说明。日前,“前沿数控技术新媒体”发文,称放在腾讯云服务器上的数据全部丢失,质疑腾讯云的安全性。前沿数控是一家从微信公众号起家的创业公司,2014 年注册了微信公众号“前沿数控技术”,定位于数控、模具、机械行业,后转型为一站式平台,开发了网站、H5、小程序产品等。为应对流量迅速增加以及安全可靠的需求,前沿数控选择使用腾讯云服务器。而在 2018 年 7 月 20 日,平台数据全部丢失。前沿数控表示,这些数据价值近千万元。腾讯云今日回应称,前沿数控所遇情况是因受所在物理硬盘固件版本 bug 导致的静默错误 (写入数据和读取出来的不一致) 影响,文件系统元数据损坏。腾讯云表示,经过分析,该硬盘静默错误是在极小概率下被触发。我们随即对固件版本有 bug 的硬盘全部进行下线处理,确保相关隐患全部排除。随后,腾讯云向“前沿数控”接口人说明情况,表达歉意,并制定“赔偿 + 补偿”方案。腾讯云认为“前沿数控”在平台上产生的实际消耗共计 3569 元,将按照赔偿条款中的上限以现金形式全额返还这笔费用;同时,腾讯云承诺为“前沿数控”提供 13.29 万元现金或云资源的额外补偿。不过,前沿数控基于自身评估就此次故障提出的赔偿要求为 1101.6 万元,双方未达成一致。腾讯云最后提到,后续将针对云盘产品会额外实行定期强灾备措施,进一步保障用户数据的可靠性。以下为腾讯云回应全文:近日,腾讯云用户北京清博数控科技有限公司所属“前沿数控”平台一块操作系统云盘,因受所在物理硬盘固件版本 bug 导致的静默错误 (写入数据和读取出来的不一致) 影响,文件系统元数据损坏。腾讯云监控到异常后,第一时间向用户告知故障状态,并立即组织文件系统专家并联合厂商技术专家尝试修复数据。遗憾的是,虽经多方努力,最终仍有部分数据完整性校验失败。经过分析,该硬盘静默错误是在极小概率下被触发。我们随即对固件版本有 bug 的硬盘全部进行下线处理,确保相关隐患全部排除。随后,腾讯云向“前沿数控”接口人伍先生说明情况并表达歉意,同时安排专人积极与接口人沟通,也在第一时间制定如下“赔偿 + 补偿”方案,以期将用户损失降最低。赔偿部分:“前沿数控”在平台上 (自 2017 年 12 月份开户至今) 产生的实际消耗共计 3569 元,依据腾讯云相关服务协议、规则和行业惯例,腾讯云将按照赔偿条款中的上限以现金形式全额返还这笔费用;补偿部分:本着帮助用户迅速恢复业务的目的,腾讯云承诺为“前沿数控”提供 132900 元现金或云资源的额外补偿。无论如何,我们都希望可以尽快帮助用户恢复业务,将损失降低最低,因此提出了“赔偿 + 补偿”总金额达到 136469 元的解决方案,这其实也是其在腾讯云平台中用云金额的 37 倍。不过,“前沿数控”基于自身评估就此次故障对腾讯云提出了高达 11016000 元的索赔要求。毫无疑问,这远远高于我们能够提供的方案。这也是此次双方目前未能达成一致的主要原因之一。从平台角度,腾讯云极力提供持久、稳定、安全的服务。但基于云计算特性,为了杜绝概率极低的意外事故发生,我们在做好云平台数据备份保障外,也按照行业惯例在相关协议中提醒用户对自身重要数据,尤其是客户信息、程序代码、网页素材等进行数据本地备份。遗憾的是,在这次故障中,“前沿数控”也表示目前没有任何本地备份数据可以用来恢复业务。在双方的沟通中,“前沿数控”还提出希望以“获得腾讯投资”、“腾讯官方引流”等方式得到补偿。在当前情况下,我们的确很难满足这样的要求。作为腾讯的战略性业务,云计算凝结着我们开放技术能力的初心,也寄托着我们连接智能未来的愿景。腾讯云极度珍视自身品牌,重视用户的合理诉求,并寻求帮助用户尤其是中小规模的用户获得成长。我们将继续与用户“前沿数控”保持建设性沟通,为最终帮助其进行业务恢复进行有诚意的努力。当然,如果最终用户倾向于寻求以法律诉讼方式解决争议,我们也将积极配合用户在法律框架下得到公平公正的解决方案。同时,我们也将适时与媒体沟通进一步进展。最后,我们对此次故障给用户业务带来影响再次表示最诚恳的歉意。后续,我们针对云盘产品会额外实行定期强灾备措施,进一步保障用户数据的可靠性。让每一个用户放心上云,安心用云。腾讯云2018 年 8 月 6 日

腾讯云被用户索赔 原来云服务器也一定万无一失!

华为回应退出美国:不实,在美根本没有业务

原标题:华为回应“撤出美国市场”的官方回复来了:消息不属实 【观察者网 综合报道】继今年 4 月,外界传闻“华为即将退出美国市场”后,本月 6 日,又有消息称“华为决定裁撤全部据点,撤出美国市场”。 华为随后否定,称此音讯并不事实。这一回应是继本年 4 月华为称“全部以官方音讯为准”后的最新官方表态。刚成为全球第二大智能手机厂商   就要撤出全数在美组织?韩媒 ETNews 6 日报导,一位熟悉华为方案的移动运营商官员周一泄漏,因为美国政府与议会连手封杀华为,逼迫本地企业中止与华为间的交易,华为方案撤出在美国的三个办事处。“我知道华为美国办事处撤离的准备工作是在三到四个月前完结的。咱们现在知道美国的移动事务简直被暂停,”该人士说。报导还称,华为在硅谷设有个千余人的研制中心,目前还未有音讯显现未来将如何处置。值得注意的是,日前,市场研究机构 IDC 统计,2018 年第二季度,华为智能手机出货量超越苹果,成为仅次三星的全球第二大智能手机厂商;而且 2017 年,华为全球网通产品的出货量也首次超越竞争对手爱立信与诺基亚,登上龙头。在智能手机及全球网络通讯设备都有斩获的情况下,华为的决定相当罕见。华为否认撤出市场 对于是否“撤出美国市场”,媒体纷纷向华为求证。36 氪报道,华为称此消息“不属实”。财联社也表示,华为海外相关负责人回应称,华为在美国市场压根就没有业务,谈不上退出美国市场。目前华为仅在美国偏远区域有据点,且仅有少数科研人员。事实上,这并非华为近年来首次回应是否撤出美国市场。早在 5 年前,华为就曾“放弃”美国市场,但并未完全退出。2013 年 4 月,时任华为执行副总裁徐直军在年度分析师峰会上表示:“我们对美国市场已经没有兴趣了。”而时任华为 CTO 的李三琦也说:“我们其实很希望进军美国市场,但得面对现实。在美之外的其他地区市场也足够大,而且增长迅猛,我们需要集中精力发展。”据芯智讯报道,当时华为虽然仍在美国拥有 1400 名员工,但研发人员总数已经从 800 降至 500,销售团队也已经压缩。华为消费者和企业部门的高管表示,公司已经不再将美国视为一个战略性市场。今年 4 月,外媒报道,华为解雇了 5 名美国雇员,释放出了要转变在美政策的信号。《纽约时报》文章称,美国市场将不再出现在华为的未来规划中,华为将结束十年来在美国付出的毫无疑义的努力,收回在美国市场的布局。在随后的举行的 2018 华为分析师大会上,华为轮值首席执行官徐直军表示:“中美关系不是我在这里说得清楚的,或者可以推动解决的。”徐直军称,有些事情不以华为的意志为转移,既然没法左右,还不如不去理它,“作为华为来讲,我们聚焦在把自己的事情做好,不管遇到什么困难,聚焦把自己的事情做好,才能更好的生存和发展。”有研究机构将这番话解读为美国已不再是华为全球战略的一部分,预计今年年底就会彻底退出美国市场,引发外界密切关注。针对上述说法,华为方面回应界面新闻称,“关于美国市场的发展情况一切以官方消息为主”。华为美国市场一再被蚕食 外界注意到,华为早在 6 年前就开始“离开”美国市场。2012 年美国国会的一份报告声称华为的设备对美构成国家安全威胁,自那时以来华为实际上已被禁止在美销售电信设备。今年年初,华为计划重返美国智能手机市场,砸重金与美国运营商 AT&T 合作,但最终因为美国政府的阻挠而告吹。随后美国百思买停止与华为合作,停售华为手机。这意味着华为手机丧失了硕果仅存的一个美国线下销售渠道。随后,华为宣布将通过第三方零售商、电商网站以及自家渠道来销售手机,并使用降价“促销”。 4 月,美国联邦通讯委员会(FCC)以 5 比 0 投票通过,禁止使用联邦资金从被认定对美国国家安全构成威胁的公司手中购买网络设备。这项新规进一步限制华为公司的美国业务,使得小型、农村地区运营商更加难以购买华为的电信设备。华为目前在美国拥有数千家客户,包括区域性运营商、中小企业等等。这些客户虽然可以用爱立信、思科或是其他厂商的产品替代华为的设备,但仍需要技术支持。而一直要求恢复对中兴制裁的美国共和党参议员、“反华急先锋”卢比奥在 6 月要求调查华为和和美国数十所高校的研究合作项目,质疑华为与美国大学的基础科研合作项目是否会对美国国家安全构成威胁。真退出?业界:好选择 对于华为的辟谣,科技媒体芯智讯援引业内人士的分析,指出在贸易战愈演愈烈的背景之下,华为在美国的开展越来越困难,暂时放弃美国市场并非不可能。官方否认,或许这只是华为不想公开承认而已。业内再次传出华为即将退出美国市场的消息,恐怕这也并不是空穴来风。36 氪刊文称,华为在美国经常被贴上“安全威胁”的标签,业务拓展步履维艰。如果华为彻底退出美国市场,也并没有损失太多。华为眼下在美国很难争取很大的市场空间,此举更像战略性放弃了一个鸡肋市场。除了业务拓展不顺,美国市场对华为的营收贡献也不大。对华为而言,美国市场从来不是一块稳稳地吃到嘴里的蛋糕,还时不时遭遇调查和抵制。暂时撤出美国市场,等待日后更好的时机出现,未尝不是一个好的选择。

华为回应退出美国:不实,在美根本没有业务