2、实现tomcat+mysql实现jps的连接

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

二 apache-tomcat+mysql通过jsp链接
2.1 安装tomcat-native
构建tc-native需要安装三个组件:
APR库
OpenSSL库
Java SE开发工具包(JDK)
Apache Tomcat本地库是一个与Apache Tomcat一起使用的可选组件,允许Tomcat使用某些本地资源来提高性能,兼容性等。
具体而言,Apache Tomcat本地库为Tomcat提供了对Apache Portable Runtime(APR)库的网络连接(套接字)实现和随机数生成器的访问。有关如何配置Tomcat以使用APR连接器的更多信息,请参阅Apache Tomcat文档。
APR连接器的特点:
保持活动请求的非阻塞I / O(请求之间)
使用OpenSSL进行TLS / SSL功能(如果链接的APR库支持)
FIPS 140-2支持TLS / SSL(如果链接的OpenSSL库支持
如果安装过程中出现apr和openssl软件版本过低无法编译的问题请查看此链接:
升级apr*及openssl:http://blog.51cto.com/maoxiaoxiong/2051202

wget http://mirrors.shuosc.org/apache/tomcat/tomcat-connectors/native/1.2.16/source/tomcat-native-1.2.16-src.tar.gz

./configure --with-apr=/usr/bin/apr-1-config \

--with-java-home=/usr/java/jdk-9.0.1/ \
--with-ssl=yes \
--prefix=/usr/local/native

Error1:configure: error: Found APR 1.3.9. You need version 1.4.3 or newer installed.由于安装的系统自带apr版本过低,,需要先升级相关软件版再重新编译.

./configure --with-apr=/usr/apr/ --with-java-home=/usr/java/jdk-9.0.1/ --with-ssl=yes --prefix=/usr/local/native

Error2: configure: error: Your version of OpenSSL is not compatible with this version of tcnative

make install 安装

再次编译:

./configure --with-apr=/usr/apr/ --with-java-home=/usr/java/jdk-9.0.1/ --with-ssl=/usr/local/openssl/ --prefix=/usr/local/native

make

make install

echo "/usr/local/native/lib" >> /etc/ld.so.conf

ldconfig

ln -s /usr/local/native/lib/* /usr/java/packages/lib/

Native编译完成并进行检查:
重启tomcat
#service tomcat stop ;service tomcat start

cat /usr/local/tomcat/logs/catalina.out | grep Native

15-Dec-2017 22:28:47.411 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.16] using APR version [1.5.2].
显示上面信息,则说明tomcat-native编译完成.:

2.2 源码编译安装mysql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
解决依赖及干扰
[root@node3 src]# rpm -e mysql-5.1.71-1.el6.x86_64
[root@node3 src]# rpm -e mysql-5.1.71-1.el6.x86_64
[root@node3 src]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 -nodeps

tar xvf mysql-5.6.26.tar.gz

yum install -y cmake ncurses-devel
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL-USER=mysql
[root@node3 mysql-5.6.26]# chown -R mysql.mysql /usr/local/mysql/
[root@node3 mysql-5.6.26]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
[root@node3 mysql-5.6.26]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@node3 mysql-5.6.26]# chmod u+x /etc/init.d/mysqld 
[root@node3 mysql-5.6.26]# vim /etc/init.d/mysqld 
[root@node3 mysql-5.6.26]# vim /etc/my.cnf 
[root@node3 mysql-5.6.26]# chkconfig mysqld on
初始化数据库
[root@node3 mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/etc/my.cnf \
--basedir=/usr/local/mysql/ \
--datadir=/usr/local/mysql/data/ \
--user=mysql

将数据库命令链接到环境变量中
[root@node3 mysql-5.6.26]# ln -s /usr/local/mysql/bin/* /bin/
启动数据库

service mysqld start

安全初始化数据库

mysql_secure_installation

回车
初始密码
确认密码
y
y
y
echo "export PAHT=/usr/local/mysql/bin:\${PATH}" >> /etc/profile

source /etc/profile

2.3 安装mysql-connector
通过官方提供的工具mysql-connector的实现了jsp脚本连接到数据库的操作
#wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz

tar xvf mysql-connector-java-5.1.45.tar.gz.gz

#cp mysql-connector-java-5.1.36-bin.jar /usr/local/tomcat/lib/
重启tomcat服务.
#Service tomcat stop ; service tomcat start
创建测试数据库并创建tomcat测试用户

mysql> create database tomcat;
Query OK, 1 row affected (0.20 sec)

mysql> use tomcat
Database changed
mysql> create table test(id int,name varchar(58));
Query OK, 0 rows affected (0.30 sec)

mysql> insert into test values(1,"令狐冲"),(2,'东方不败'),(3,'岳不群');
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> grant all privileges on tomcat.* to tomcat@"localhost" identified by "123456";
Query OK, 0 rows affected (0.22 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)
测试jsp连接数据库
3.3测试文档
[root@node1 lib]# vim /usr/local/tomcat/webapps/ROOT/test.jsp
1 <%@ page contentType="text/html;charset=utf-8"%>
2 <%@ page import="java.sql."%>
3 <html>
4 <body>
5 <%
6 Class.forName("org.gjt.mm.mysql.Driver").newInstance();
7 String url ="jdbc:mysql://localhost/tomcat?user=tomcat&password=123456&useUnicode=true&characterEncoding=utf-8";
8 Connection conn= DriverManager.getConnection(url);
9 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
10 String sql="select 
from test";
11 ResultSet rs=stmt.executeQuery(sql);
12 while(rs.next()){%>
13 step:<%=rs.getString(1)%>
14 context:<%=rs.getString(2)%><br><br>
15 <%}%>
16 <%out.print("Congratulations!!! JSP connect MYSQL IS OK!!");%>
17 <%rs.close();
18 stmt.close();
19 conn.close();
20 %>
21 </body>
22 </html>

通过浏览器访问数据库:

如果apache和tomcat在没有整合的情况下可以指定8080端口进行测试

完成tomcat和mysql通过jsp的链接操作

如果使用yum安装的httpd服务,由于升级过openss和apr之后导致无法重启,此时可将http服务升级之高版本或者修改配置文件/etc/http/conf/httpd.conf中关于ldap模块注释掉即可如下:
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so


本文转自 CARYFLASH 51CTO博客,原文链接:http://blog.51cto.com/maoxiaoxiong/2050555


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
344
分享
相关文章
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
57 25
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
130 7
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
196 26
DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)
“Access denied for user ''@'ip' (using password: YES)”错误通常与MySQL用户权限配置或网络设置有关。通过检查并正确配置用户名和密码、用户权限、MySQL配置文件及防火墙设置,可以有效解决此问题。希望本文能帮助您成功连接MySQL数据库。
355 4
【赵渝强老师】MySQL的连接方式
本文介绍了MySQL数据库服务器启动后的三种连接方式:本地连接、远程连接和安全连接。详细步骤包括使用root用户登录、修改密码、创建新用户、授权及配置SSL等。并附有视频讲解,帮助读者更好地理解和操作。
593 1
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
418 6
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
106 42
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等