谷歌浏览器mysql插件 编写谷歌浏览器插件

大家好,感谢邀请,今天来为大家分享一下谷歌浏览器mysql插件的问题,以及和编写谷歌浏览器插件的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

谷歌浏览器mysql插件 编写谷歌浏览器插件

本文目录

  1. Wordpress插件过多很臃肿,怎么优化
  2. 如何直接在浏览器内运行SQL命令_MySQL
  3. centos7怎样安装mysql服务器

一、Wordpress插件过多很臃肿,怎么优化

1、wordpress默认自带的那2个插件,不建议用,卸载掉。

2、首先你的有一个 sitemap的插件,老魏用 Google XML Sitemaps。

3、然后https链接的过程中难免会有某些链接是 http的,这时候不需要你特意去找(也未必能找到),只需要安装 Really Simple SSL插件。

4、再次使用 WP Acceleration for China,解决google字体延迟和 gavata头像延迟过高的问题。

5、如果你的网站放在国外服务器,就用不着最后一个插件了。

6、至于别的插件是在使用中慢慢尝试出来的,有些插件可以用代码代替,有些不能代替就只能安装了。也就是用到了再安装,没有说必须安装的插件,懂这个意思就行了。

7、再有不懂的可以问问老魏,看到了就回答。

二、如何直接在浏览器内运行SQL命令_MySQL

本文示范了如何用一个Java Servlet、一个JSP页面和一个静态Java类构造出一个SQL网关应用。利用这个应用,你可以直接在浏览器内执行SQL命令,浏览器将把SQL命令提交给远程服务器上的数据库系统,然后返回结果。

如果你正在使用ISP(Internet Service Provider)提供的数据库,可能已经熟悉SQL网关应用的概念了。有的ISP会提供一个操作数据库的HTML页面,就象本文提供的网关应用一样。如果ISP没有提供这样的界面,你可以把本文的程序上载到服务器,以后要访问ISP服务器上的数据库就很方便了。

SQL网关应用不仅可以用于开发过程,而且还可以直接提供给比较熟悉系统的最终用户使用。当然,允许最终用户直接在数据库上运行SQL命令会带来一些安全隐患,应当慎重考虑。

本文要求读者具备一定的Java、Servlet、JSP和数据库的基础知识,如果要运行本文的程序,还要有一个Servlet/JSP服务器和数据库服务器。在下面的说明中,我们要使用的是Tomcat 4.0和MySQL,但它应该也能在其他JSP/Servlet容器中运行;如果你要改用MySQL之外的其他数据库,只要提供一个适当的驱动程序,然后修改数据库连接字符串就可以了。

图1就是本文SQL网关的用户界面。在这个界面中,SQL网关已经执行了一条SQL命令并返回了结果。

从图1可以看出,页面底部的一条信息显示出最近执行的SQL命令影响的行数。如果SQL命令是一个SELECT语句,当SELECT语句执行成功,页面底部将用HTML表格显示出查询结果,如图二所示。

当然,如果SQL命令执行失败,SQL网关将返回异常信息。

在JSP页面中,我们首先放入一个Scriptlet,它的功能是从session对象提取两个属性:

第一个属性sqlStatement表示SQL命令字符串,第二个属性message是包含结果信息的字符串。如果这两个属性的值是null,则表示它们尚未被设置,我们把sqlStatement和message变量设置成空字符串。

JSP页面还有一个HTML表单,HTML表单包含一个文本区域(TEXTAREA)和一个“执行”按钮。

表单中的文本区域用来输入SQL命令。我们将sqlStatement变量的值作为文本区域的默认内容,文本区域的大小是宽60字符、高8行。当JSP页面第一次运行时,这个文本区域的内容为空。如果用户点击文本区域下面的“执行”按钮,JSP页面把表单内容提交给SQLGatewayServlet(稍后再详细介绍)。

JSP页面底部的表格显示出message字符串的内容。如前所述,message的内容是运行SQL命令的结果。

SQLGatewayServlet首先导入java.sql包以便使用JDBC类。另外,它还要声明一个Connection对象,以便Servlet之内的所有方法都可以使用数据库连接。

public class SQLGatewayServlet extends HttpServlet{

private Connection connection;

当Servlet引擎开始运行这个Servlet,Servlet的init方法就打开一个数据库连接:

public void init() throws ServletException{

Class.forName("org.gjt.mm.mysql.Driver");

String dbURL="jdbc:mysql://localhost/murach";

connection= DriverManager.getConnection

catch(ClassNotFoundException e){

System.out.println("找不到数据库驱动程序.");

System.out.println("不能打开数据库连接:"

在这个例子中,Servlet利用一个MysQL数据库的驱动程序打开murach数据库的连接,数据库和Servlet运行在同一个服务器上。此外,Servlet使用MySQL的默认用户名字root,密码为空。不过,你可以修改这里的代码,只要有适当的驱动程序,就可以让Servlet连接到任何服务器上的任何数据库(有关MySQL数据库的更多信息,请参见www.mysql.com)。

Servlet引擎关闭Servlet之前,调用destroy方法关闭数据库连接,释放连接资源:

System.out.println("不能关闭数据库连接:"+ e.getMessage());

前面介绍的JSP页面要调用Servlet的doPost方法,doPost方法调用doGet方法:

public void doPost(HttpServletRequest request,

HttpServletResponse response)

throws IOException, ServletException{

在doGet方法之中,第一个语句首先获取用户在JSP页面中输入的SQL命令,第二个语句声明message变量:

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws IOException, ServletException{

String sqlStatement= request.getParameter("sqlStatement");

然后,在try块之内,第一个语句利用Connection对象创建Statement对象,接下来的两个语句利用String对象的trim方法和substring方法返回用户输入的SQL命令的前六个字符。

Statement statement= connection.createStatement();

sqlStatement= sqlStatement.trim();

String sqlType= sqlStatement.substring(0, 6);

如果SQL命令的前六个字符是“select”,则利用Statement的executeQuery方法执行SQL语句,获得一个ResultSet对象,把这个对象传递给SQLUtil类(稍后详细说明)的getHtmlRows方法,getHtmlRows方法将把记录集中的记录格式化成HTML表格并返回。

if(sqlType.equalsIgnoreCase("select")){

ResultSet resultSet= statement.executeQuery(sqlStatement);

//构造一个String,其中包含HTML表格形式的结果集数据

message= SQLUtil.getHtmlRows(resultSet);

如果SQL语句的前六个字符不是“select”,则我们调用Statement对象的executeUpdate方法,executeUpdate方法返回当前操作影响的行数——如果这个数字是0,则该SQL命令是一个DDL命令,例如DROP TABLE或CREATE TABLE等;否则,则表明SQL命令可能是DML命令,如INSERT、UPDATE或DELETE命令。无论是哪一种SQL命令,我们都把message变量设置成相应的消息。

int i= statement.executeUpdate(sqlStatement);

else//这是一个INSERT、UPDATE或DELETE命令

如果try块里面的任何一个语句抛出一个SQLException,catch块就设置message变量,使其包含有关该SQLException的信息。例如,如果在表单中输入的SQL命令语法错误,下面设置的message变量值将帮助你排解错误。

message="执行SQL命令时遇到错误:

在catch块之后,接下来的三个语句获得session对象,把sqlStatement和message变量设置为session的属性:

HttpSession session= request.getSession();

session.setAttribute("message", message);

session.setAttribute("sqlStatement", sqlStatement);

接下来,最后两个语句创建一个RequestDispatcher,并转发request和response对象给前文介绍的JSP页面:

getServletContext().getRequestDispatcher(

dispatcher.forward(request, response);

下面来看看工具类SQLUtil的代码:

SQLUtil类包含一个getHtmlRows静态方法,前面的Servlet正是通过调用该方法将结果集格式化成HTML表格。getHtmlRows的输入参数是一个ResultSet对象,其返回值是一个String对象,这个String对象的内容是记录集的所有列表题和行的HTML代码。为了构造出这样一个String对象,getHtmlRows声明了一个名为htmlRows的StringBuffer对象,然后在方法执行过程中向这个StringBuffer对象追加数据。在getHtmlRows方法的末尾,我们用toString方法将StringBuffer的内容转换成String,最后将这个String返回给Servlet:

public static synchronized String getHtmlRows(ResultSet results)

StringBuffer htmlRows= new StringBuffer();

ResultSetMetaData metaData= results.getMetaData();

int columnCount= metaData.getColumnCount();

//将记录集中列的名称作为HTML表格列的标题

三、centos7怎样安装mysql服务器

下载mysql源安装包shell> wget

安装mysql源shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

yum repolist enabled| grep“mysql.-community.”

yum install mysql-community-server

shell> systemctl start mysqld

shell> systemctl status mysqld

shell> systemctl enable mysqld

shell> systemctl daemon-reload

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

shell> grep‘temporary password’/var/log/mysqld.log

mysql> ALTER USER‘root’@’localhost’ IDENTIFIED BY‘MyNewPass4!’;

mysql> set password for‘root’@’localhost’=password(‘MyNewPass4!’);

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819(HY000): Your password does not satisfy the current policy requirements错误

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON.TO‘yangxin’@’%’ IDENTIFIED BY‘Yangxin0917!’ WITH GRANT OPTION;

以上部分个人实践过,以下内容待实践

mysql> SHOW VARIABLES WHERE Variable_name LIKE‘character_set_%’ OR Variable_name LIKE‘collation%’;

+————————–+——————-+

+————————–+——————-+

| character_set_connection| utf8|

| character_set_database| latin1|

| character_set_filesystem| binary|

| character_set_results| utf8|

| character_set_server| latin1|

| collation_connection| utf8_general_ci|

| collation_database| latin1_swedish_ci|

| collation_server| latin1_swedish_ci|

+————————–+——————-+

可以看到我的mysql版本是5.7的,utf8mb4有一个使用限制,mysql版本必须是5.5以上,大家需要注意,我目前用的ubuntu系统是16.04的。当前mysql的字符集配置如上表,我们的目的是更改成utf8mb4。

3.找到mysql的配置文件,可用命令

我的配置文件位置如下,个别的位置有所不同

/etc/mysql/mysql.conf.d/mysqld.cnf

default-character-set= utf8mb4

default-character-set= utf8mb4

character-set-client-handshake= FALSE

collation-server= utf8mb4_unicode_ci

init_connect=’SET NAMES utf8mb4’

原文件中无“[client]”和“[mysql]”,需要手动添加上。

Here is entries for some specific programs

The following values assume you have at least 32M ram

default-character-set= utf8mb4

default-character-set= utf8mb4

socket=/var/run/mysqld/mysqld.sock

pid-file=/var/run/mysqld/mysqld.pid

socket=/var/run/mysqld/mysqld.sock

lc-messages-dir=/usr/share/mysql

character-set-client-handshake= FALSE

collation-server= utf8mb4_unicode_ci

init_connect=’SET NAMES utf8mb4’

Instead of skip-networking the default is now to listen only on

mysql> SHOW VARIABLES WHERE Variable_name LIKE‘character_set_%’ OR Variable_name LIKE‘collation%’;

ERROR 2006(HY000): MySQL server has gone away

No connection. Trying to reconnect…

+————————–+——————–+

+————————–+——————–+

| character_set_client| utf8mb4|

| character_set_connection| utf8mb4|

| character_set_database| utf8mb4|

| character_set_filesystem| binary|

| character_set_results| utf8mb4|

| character_set_server| utf8mb4|

| collation_connection| utf8mb4_unicode_ci|

| collation_database| utf8mb4_unicode_ci|

| collation_server| utf8mb4_unicode_ci|

+————————–+——————–+

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。

本文链接:http://www.gdxhedu.com/news/157880.html