- docker pull msyql5.6 并使用
开花沼泽.
dockeradb容器
dockerpullmsyql:5.6mkdir-p/root/mysql/mysqlconfvim/root/mysql/mysqlconf/my.cnf[mysqld]skip-host-cacheskip-name-resolvedatadir=/var/lib/mysqlinit_connect='SETcollation_connection=utf8_general_ci'init_c
- Canal同时监控两个mysql的binlog并同步至一个topic中
梦见伊兮伊不觉
大数据mysqlkafka
准备:安装canal(博主canal版本1.1.5)安装kafka,做接收binlog日志数据用(博主kafka版本2.11)安装两个msyql,相当于两个mysql数据库(博主mysql版本5.1.0)我mysql的两台节点分别是:192.168.1.137,192.168.1.138开启binlog(两台mysql都需要开启)在mysql中创建canal用户(两台mysql都需要创建)这些组件
- MySQL跨服务器关联查询
敢敢变成了憨憨
服务器运维
1.首先确认服务器的Federated引擎是否开启showengines;修改数据库的配制文件my.ini,(我的my.ini的路径为:D:\ProgramData\MySQL\MySQLServer5.7/my.ini),将federated添加到my.ini文件中到MySQL的my.cnf配置文件中修改在[mysqld]下方加入federated然后重启msyql服务,再次检查federate
- Vue+Node.js+Msyql实现一个简单的毕业设计《体检预约管理系统》
胡广的比特星球
毕业设计体检预约后台管理系统vue.jsnode.jsjavascript
最近接了一个小姐姐的毕业设计,她是要我做一个纯前端的《体检预约管理系统》,我一想前端咋去用node.js访问数据库呀?于是乎去面向百度了一波,终究还是找到了案例代码,然后日夜冥思苦想把这个项目做出来给交付了,废话不多说,开始正题!话不多说咱们直接开整吧,冲啊!!!冲啊!!!冲啊!!!开发技术及开发工具开发工具采用vsCode【前后端代码的编写】、NavicatPremium15【Mysql数据库的
- msyql主从延时优化
我不是攻城狮
mysqlmysql
原因:1、网络延迟2、从库sql线程只有一个,当执行sql线程过程中,遇到复杂的sql语句的场景,可能会发生死锁可能。3、从服务器机器性能一般。解决方法:1、优化网络带宽。2、降低负载。增加从节点部署一台不对外提供查询的从节点,专门负责sql线程执行sql。3、选择性能更好的机器。
- msyql主从复制
我不是攻城狮
mysqlmysql
1、主从复制开启,主库负责dump当前binlog日志(update、insert、delete),从服务器准备开启IO线程和sql线程。2、从库负责向主库发起连接,IO线程负责拉取主库的binlog日志并且同步到relaylog日志。3、从服务器使用sql线程执行relaylog里面的sql语句,并且持久化到从服务中。主从复制方式:1、异步复制2、同步复制3、半同步复制
- linux利用source命令导入sql文件
红烧柯基
linuxmysqllinuxmysqljava
1.创建数据库2.设置编码3.进入sql文件目录,使用msyql的source命令如下:source文件路径mysql>useg6monitor;mysql>source/app/t_sta_high_emission_vehicle.sql;
- pychrm msyql
Joncc
jdbc:mysql://address=\(protocol=tcp\)\(\)[/{database}][\?]jdbc:mysql://{host::localhost}?[:{port::3306}][/{database}?][\?]
- MYSQL库和表的操作(修改字符集和校验规则,备份和恢复数据库及库和表的增删改查)
ilycyq
数据库mysqloracle
文章目录一、MSYQL库的操作1.连接MYSQL2.查看当前数据库3.创建数据库4.字符集和校验规则5.修改数据库6.删除数据库7.备份和恢复8.查看连接二、表的操作1.创建表2.查看表结构3.修改表4.删除表一、MSYQL库的操作1.连接MYSQL我们使用下面的语句来连接MSYQL:mysql-h127.0.0.1-P3306-uroot-p-h:登录主机的ip,如果是本地主机登录的话可以忽略-
- msyql 异常,别干着急,70%的问题都在这里!
测试店小二
adb面试测试用例职场和发展postman开发语言
性能测试中,数据库的性能问题,可能会占到70%,所以讲性能测试,数据库是一个非常非常重要的知识。但是,最近在讲MySQL数据库的时候,却遇到了一个尴尬。我们上课,是需要所有学员动手安装MySQL数据库的,虽然,安装方法很多,但是,使用yum命令来安装,又是每个学生都必须掌握的,所以,我上课时,用以前上课通用的yum命令来安装mysql5.7版本wgethttp://dev.mysql.com/ge
- docker 配置 mysql8.0.27 主从复制(详细)
songshu。
dockerlinux运维mysql
docker配置mysql8.0.27主从复制(详细)介绍准备环节开始配置细节介绍为什么使用主从?自行查阅。告知版本,不耍流氓docker版本:[root@iZwz9glz4h0uc4whkyr7hiZconf]#dockerversionClient:DockerEngine-CommunityVersion:20.10.17msyql版本:mysql>select@@version;+----
- 你知道Mysql的架构吗?
云原生解决方案
大厂工作日记mysql架构数据库
msyql分为server曾和存储引擎层server层包括了连接器(管理连接,权限验证)、查询缓存(命中直接返回结果)、分析器(词法分析,语法分析)、优化器(执行计划生成,索引选择)、执行器(操作引擎,返回结果)等,涵盖了Mysql大多数核心功能,以及所有的内置函数(日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等存储引擎层负责数据的存储和提取。架构模
- msyql迁移到人大金仓数据库
shan~~
javamysql
1,点击数据迁移工具2,在浏览器上输入http://localhost:54523,默认账号和密码为kingbase,kingbase,进入之后,就是项目的页面3,数据库管理添加源数据库,点击确定就可以了,也可以测试一下连接成功之后就可以看列表了添加目标数据库点击确定之后查看列表4,迁移任务管理新建数据源选择模式选择迁移对象配置参数点击保存和保存并迁移,查看迁移进度即可参考人大金仓官方文档:htt
- SpringBoot+dynamic-datasource实现多数据源(msyql、sqlserver、postgresql)手动切换
霸道流氓气质
SpringBootspringbootsqlserverpostgresql
场景SpringBoot+MybatisPlus+dynamic-datasources实现连接Postgresql和mysql多数据源:SpringBoot+MybatisPlus+dynamic-datasources实现连接Postgresql和mysql多数据源-CSDN博客上面实现通过注解和配置文件的方式去进行多数据源操作。如果业务需求,比如查询第三方接口时提供的是sqlserver的视
- Python+SSM懂车帝汽车数据分析平台 爬虫代码实例分析
haochengxu2022
ssm源码爬虫python数据分析爬虫python数据分析
概述网络爬虫一直是一项比较炫酷的技术,但是业界一直是Python爬完用djangoflask框架进行web端展示,今天咱们换个口味。用python爬取,用java展示开发分析一、总体目标本系统全称为汽车信息评价分析系统。主要目的是提高评论信息管理的效率,开发的目的是为用户在汽车网爬取评论信息平台。本系统主要任务是设计开发一个基于python和msyql数据库的汽车信息评价分析系统,以后台数据管理分
- Mysql中设置只允许指定ip能连接访问(可视化工具的方式)
霸道流氓气质
数据库mysqltcp/ip数据库
场景Mysql中怎样设置指定ip远程访问连接:Mysql中怎样设置指定ip远程访问连接_navicatformysql设置只有某个ip可以远程链接-CSDN博客前面设置root账户指定ip能连接访问是通过命令行的方式,如果通过可视化工具比如Navicat来实现。注:博客:霸道流氓气质-CSDN博客实现1、使用Navicat连接到msyql找到数据库名为mysql中的user表这里root账户的ho
- msyql中事件和存储过程应用举例
安小龙
当前有一张记录表six_one_egg_record_copy,包含一个月以来每天的数据信息,现在需要将这张记录表中的数据,提取出当天的数据并插入到six_one_egg_record表中,供接口获取当日数据。一下使用mysql事件和存储过程,实现该需求。1.新建一个存储过程,内容如下:01.png可以看到存储过程中,首先清空了six_one_egg_record表,然后再将six_one_egg
- mysql忘记了密码
hahaha 1hhh
mysql数据库
1.查找mysql的配置文件find/-namemy.cnf2.编辑my.cnfvim/etc/my.cnf3.在最后一行添加skip-grant-tables跳过密码校验4.检查mysql服务是否已正常启动servicemysqldstatus5.修改完配置重启服务systemctlrestartmsyqld6.键入msyql直接进入mysqlmysql7.进入mysql库设置root用户密码为
- redHat 7.2 安装 MySQL-5.5.39
秦时的明月夜
下载mysql安装包从msyql官网下载安装包选择自己需要的版本下载安装mysql在/home下创建mysql文件夹mkdirmysql首先先查看是否已经安装了mysql,执行命令rpm-qa|grepmysql如果什么都没显示说明没有安装过,如果已经安装了Mysql就先卸载执行命令rpm-e–nodepsxxxxxxxx(xxxxxx为已经安装的rpm)查看是否安装mariadb系统自带的,之前
- mac通过brew方式安装mysql5.7
laocaibulao
phpmysql数据库
1、查询mysql包brewsearchmysql2、安装msyql5.7(上一步确认是否有这个包名称)
[email protected]等一段时间后,安装成功后显示We'veinstalledyourMySQLdatabasewithoutarootpassword.Tosecureitrun:mysql_secure_installationMySQLisconfiguredtoonly
- SuiteCRM搭建安装(apache+msyql+php)
Future_object
phpApacheLinuxphp
第一步:安装LAMP环境1.首先将系统软件包更新为最新版本yumupdate2..软件包更新后,现在可以使用所需的所有PHP模块安装LAMP(Linux,Apache,MySQL和PHP),如图所示yuminstallhttpdphpphp-commonphp-curlphp-xmlphp-jsonphp-mbstringphp-zipphp-imappcrepcre-develzlib-deve
- Ubuntu20.04安装suiteCRM
brave_heart_lxl
php
两篇有用的文章在ubuntu16.04上安装suitecrm_suitecrmubuntu-CSDN博客SuiteCRM搭建安装(apache+msyql+php)_suitecrm宝塔安装-CSDN博客对照着一步步操作就可以了
- Mysql高可用
伍dLu
mysql数据库
一.msyql的高可用mha:m是master,是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。出现就是解决MySQL单点的问题。MHA的组成:MHANode(数据节点):MHANode运行在每台MySQL服务器上。MHAManager(管理节点):MHAManager可以单独部署在一台独立的机器上,管理多个master-slave集群;也可以部署在一台slave节点上。manager
- msyql设置清除30天以前的数据
梁晓山(ben)
mysqlmysql
DeleteFromxxxxwhereDATE(create_time)<DATE(DATE_SUB(NOW(),INTERVAL30day))
- (二)linux使用docker容器运行mysql
jinqianwang
linuxdocker运维
前言:在上一章安装好linux环境后,开始搭建msyql数据库,之前都是用windows安装mysql的,即使在linux上安装也是用tar解压,然后一堆的配置东西,现在用docker就是爽,几行命令就行我这里就只放上几条指令,按顺序执行就可以,想详细看的同学可以参考这位博主的博客超详细!一、安装启动检查是否安装docker了,如果有安装会出现安装的版本列表yumlistinstalled|gre
- Flink--DataSink学习
李小李的路
基于flink-1.8.1概述flink流式计算中需要经计算的结果进行输出(可以是msyql/hbase/ES等常见的DB或者filesystem,也可以是钉钉/邮件/短信等通知类信息),官网上成为connector(连接器)。flink内置的连接器(官网)如下,详情可阅读官网:flink-连接器.pngflink中SinkFunction类关系flink中的的sinkconnector都是继承的
- 连接虚拟机MySQL失败
流忆,留宜
Linux操作数据库mysql数据库
一、检查网络连接pingip地址如果有响应,则网络连接没有问题注:linux系统ip地址可由ipaddr或ipconfig命令查看二、检查MySQL服务运行状态sudoservicemysqlstatus出现如下active(running)为正常运行如果未运行可采用如下命令运行mysqlsudoservicemysqlstart#运行msyql服务三、检查MySQL配置文件sudovi/etc/
- msyql 25day 数据库主从 主从复制 读写分离 master slave 有数据如何增加
白嫖一茶
mysql数据库数据库
目录环境介绍读写分离纵向扩展横向扩展数据库主从准备环境主库环境(master)从库配置(slave)状态分析重新配置问题分析报错解决从库验证有数据的情况下去做主从清理环境环境准备数据库中的锁的机制主库配置从库配置最后给主库解锁常见错误环境介绍将一个数据库的数据复制到另外一个或者多个master主库slave从库主库开了一个二进制日志从库开了两个线程LO可以是多线程(快)请求二进制文件SQL线程执行
- 62权限提升-烂土豆&dll劫持&引号路径&服务权限
上线之叁
安全
必备知识点:令牌窃取配合烂土豆提权,单纯令牌窃取:web提权或者本地提权如果配合烂土豆提权,就需要web权限和数据库权限。配合烂土豆的就用不了本地提权了,烂土豆的原理,他进行提权的时候用到的是关于windows上面服务权限(例如iis,msyql等等),只有这种权限才可以,烂土豆对比热土豆的优点100%可靠,立即生效(不像,hot,potato那样有时候需要等windows更新结果),当时通杀所有
- centos7离线安装mysql
三颗草丶
mysqlmysql服务器数据库
有些服务器禁止连通互联网尤其是运营商的让人头痛,需要下载msyql安装包上传到服务器安装我这里安装的是mysql5.7,是一个比较稳定的版本一、进入官网https://dev.mysql.com/downloads/mysql/5.7.html#downloads依次选择redhatenterpriselinux/oraclelinux---------all------RedHatEnterpr
- 继之前的线程循环加到窗口中运行
3213213333332132
javathreadJFrameJPanel
之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。
package thread;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util
- linux 常用命令
BlueSkator
linux命令
1.grep
相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。
但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n '100,200p' 文件名),去查出该关键字之后的日志内容。
但其实还有更简便的办法,就是用(grep -B n、-A n、-C n 关键
- php heredoc原文档和nowdoc语法
dcj3sjt126com
PHPheredocnowdoc
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
<?
- overflow的属性
周华华
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- 《我所了解的Java》——总体目录
g21121
java
准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。
在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。
&n
- [简单]docx4j常用方法小结
53873039oycg
docx
本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:
import java.io.File;
import java.io.FileInputStream;
import ja
- Spring配置学习
云端月影
spring配置
首先来看一个标准的Spring配置文件 applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=&q
- Java新手入门的30个基本概念三
aijuans
java新手java 入门
17.Java中的每一个类都是从Object类扩展而来的。 18.object类中的equal和toString方法。 equal用于测试一个对象是否同另一个对象相等。 toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法) 19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。
- 《2008 IBM Rational 软件开发高峰论坛会议》小记
antonyup_2006
软件测试敏捷开发项目管理IBM活动
我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵!
其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下.
参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.
- PL/SQL的过程编程,异常,声明变量,PL/SQL块
百合不是茶
PL/SQL的过程编程异常PL/SQL块声明变量
PL/SQL;
过程;
符号;
变量;
PL/SQL块;
输出;
异常;
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作
- Mockito(三)--完整功能介绍
bijian1013
持续集成mockito单元测试
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。
一.使用mockito验证行为
//首先要import Mockito
import static org.mockito.Mockito.*;
//mo
- 精通Oracle10编程SQL(8)使用复合数据类型
bijian1013
oracle数据库plsql
/*
*使用复合数据类型
*/
--PL/SQL记录
--定义PL/SQL记录
--自定义PL/SQL记录
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE,
salary emp.sal%TYPE,
dno emp.deptno%TYPE
);
emp_
- 【Linux常用命令一】grep命令
bit1129
Linux常用命令
grep命令格式
grep [option] pattern [file-list]
grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。
pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特
- mybatis3入门学习笔记
白糖_
sqlibatisqqjdbc配置管理
MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。
以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。
- Linux 命令神器:lsof 入门
ronin47
lsof
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多
- java实现两个大数相加,可能存在溢出。
bylijinnan
java实现
import java.math.BigInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BigIntegerAddition {
/**
* 题目:java实现两个大数相加,可能存在溢出。
* 如123456789 + 987654321
- Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法
Kai_Ge
Kettle
Kettle学习资料分享
Kettle 3.2 使用说明书
目录
概述..........................................................................................................................................7
1.Kettle 资源库管
- [货币与金融]钢之炼金术士
comsci
金融
自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的
那么随着人类在理论物理和工程物理上面取得的一些突破性进展......
炼金术这个古老
- Toast原来也可以多样化
dai_lm
androidtoast
Style 1: 默认
Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT);
def.show();
Style 2: 顶部显示
Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT);
t
- java数据计算的几种解决方法3
datamachine
javahadoopibatisr-languer
4、iBatis
简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。
复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据
- 向网页中插入透明Flash的方法和技巧
dcj3sjt126com
htmlWebFlash
将
Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。
一、Swf透明、无坐标控制 首先教大家最简单的插入Flash的代码,透明,无坐标控制: 注意wmode="transparent"是控制Flash是否透明
- ios UICollectionView的使用
dcj3sjt126com
UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。
个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。
1.UIViewController实现委托,代码如
- Eos平台java公共逻辑
蕃薯耀
Eos平台java公共逻辑Eos平台java公共逻辑
Eos平台java公共逻辑
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月1日 17:20:4
- SpringMVC4零配置--Web上下文配置【MvcConfig】
hanqunfeng
springmvc4
与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。
applicationContext-MvcConfig.xml
<!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller -->
<
- 解决ie和其他浏览器poi下载excel文件名乱码
jackyrong
Excel
使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,
因此必须综合判断,编写一个工具类:
/**
*
* @Title: pro
- 挥洒泪水的青春
lampcy
编程生活程序员
2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连!
这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到
- 稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制
nannan408
对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?
笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。
我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在
- 动态设置iframe高度(iframe高度自适应)
Rainbow702
JavaScriptiframecontentDocument高度自适应局部刷新
如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。
但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。
对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构:
<div id="content">
<div id=&quo
- 用Rapael做图表
tntxia
rap
function drawReport(paper,attr,data){
var width = attr.width;
var height = attr.height;
var max = 0;
&nbs
- HTML5 bootstrap2网页兼容(支持IE10以下)
xiaoluode
html5bootstrap
<!DOCTYPE html>
<html>
<head lang="zh-CN">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">