在Linux上安装JDK、Mysql、Tomcat

一、安装jdk

 (一)、操作步骤

1.查看当前Linux系统是否已经安装Java

  输入 rpm -qa |  grep java

2.卸载两个openJDK

  输入 rpm -e --nodeps 要卸载的软件名称

  rpm -e --nodeps java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64 

  rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64

3.解压jdk到指定目录

  tar -xvf jdk-8u171-linux-x64.tar.gz -C /usr/local/

4.配置环境变量

  首先查看刚刚指定安装目录下java jdk的目录名称

  使用 vim /etc/profile 打开配置文件,根据名称来配置java环境变量。

  #set java environment

      JAVA_HOME=/usr/local/jdk1.8.0_171

      CLASSPATH=.:$JAVA_HOME/lib.tools.jar

      PATH=$JAVA_HOME/bin:$PATH

      export JAVA_HOME CLASSPATH PATH 

  保存,退出。

5.重新加载/etc/profile配置文件  source /etc/profile

6. java -version 验证环境变量是否配置成功

二、安装Mysql

 (一)、操作步骤

 1.查看CentOS 自带的mysql

  输入 rpm -qa | grep mysql

2.卸载系统自带的mysql

  rpm -e --nodesp mysql-libs-5.1.73-3.el6_5.x86_64

3.安装mysql的依赖

  yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

  yum  update libstdc++-4.4.7-4.el6.x86_64

 4.解压Mysq到/usr/local/mysql 目录下 (注意,mysql目录需要自己手动创建)

  cd /usr/local

  mkdir mysql

  tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql

5.在/usr/local/mysql 下安装mysql

  安装服务器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm

  安装客户端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

  安装完服务端成功以后会有这样一段英文提示

  这段提示告诉你,mysql服务端安装完以后有一个默认的初试密码,在root目录下的mysql_secrect文件中,这个时候我们用vim 打开看看。

  还真有,这个时候保存一下密码,后面修改密码的时候需要。

  在安装用户端的时候报了一个错误,如图

  依赖缺失,这个时候手动安装一下依赖就行了

  yum -y install libncures.so.5 litinfo.so.5

6.启动mysql

  service mysql start

7.将mysql加到系统服务并设置开机启动

  加入到系统服务:chkconfig --add mysql

  自动启动:chkconfig mysql on

8.登录mysql

  记得刚刚储存的密码吗? 在这里就可以派上用场了。

  输入: mysql -uroot -p;   回车,将刚刚保存的密码复制进去登录成功

9.修改mysql密码

      在步骤8中,我们已经登录进了mysql,这个时候在mysql命令行中输入: set password = password('你的密码');

   注意:在mysql的命令行中,mysql语句总是以分号";"结束的,如果你没有添加分号,解析器就认为这行语句没有结束。

10.开启mysql的远程登录

  默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启远程登录mysql的权限,登录mysql后输入如下命令:

  grant all privileges on *.* to 'root' @'%' identified by 'root';

  flush privileges;

  以上两句话是什么意思呢, “授予所有的权利”给‘root’用 从任何主机以root作为密码登录。 “刷新权限”。

  那么现在问题来了,实际开发中如果以这种方式授权那会是一件非常危险的操作。一般都是给指定的用户登录mysql数据的权利。例如,现在允许用户peter从ip为192.168.100.6的主机连接到mysql服务器,并使用mypwd作为密码 ,那授权语句该怎么写呢?

      grant all privieges on *.* to 'peter' @'192.168.100.6' identified by 'mypwd' with grant option;

      flush privileges;

 11.开放Linux 的对外访问的端口3306

  /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

  /etc/rc.d/init.d/iptables save ---将修改永久保存到防火墙中

12.远程连接Linux服务器的数据

  在开放端口以后就可以使用数据库工具操作数据库,常用的数据库工具有:Navicat、datagrip等。我这里用的是datagrip jetbrains全家桶。

三、安装Tomcat

(一)、操作步骤

1.解压Tomcat到/usr/local 下

  tar -xvf -C /usr/local

2.开放8080端口

  /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

  /etc/rc.d/init.d/iptables save

3.启动关闭Tomcat

  进入tomcat的bin下启动: ./startup.sh

  进入tomcat的bin下关闭: ./shutdown.sh

4.测试tomcat是否启动成功

  在浏览器中输入 ip:8080 查看tomcat是否启动成功

 

四、One more thing

(一)、安装数据库中遇到的问题

Failed dependencies:
libaio.so.1 is needed by MySQL-server-5.6.22-1.el6.i686
libaio.so.1(LIBAIO_0.1) is needed by MySQL-server-5.6.22-1.el6.i686
libaio.so.1(LIBAIO_0.4) is needed by MySQL-server-5.6.22-1.el6.i686
libc.so.6 is needed by MySQL-server-5.6.22-1.el6.i686
libc.so.6(GLIBC_2.0) is needed by MySQL-server-5.6.22-1.el6.i686
libc.so.6(GLIBC_2.1) is needed by MySQL-server-5.6.22-1.el6.i686
libc.so.6(GLIBC_2.1.2) is needed by MySQL-server-5.6.22-1.el6.i686
libc.so.6(GLIBC_2.1.3) is needed by MySQL-server-5.6.22-1.el6.i686

...........................................................

错误: 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 libstdc++ which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of libstdc++ 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 libstdc++.otherarch ... this should give you an error
message showing the root cause of the problem.

2. You have multiple architectures of libstdc++ 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 libstdc++ 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: libstdc++-4.4.7-23.el6.i686 != libstdc++-4.4.7-11.el6.x86_64
错误:Protected multilib versions: libgcc-4.4.7-23.el6.i686 != libgcc-4.4.7-11.el6.x86_64

  "Protected multilib versions: libstdc++-4.4.7-23.el6.i686 != libstdc++-4.4.7-11.el6.x86_64"这一段是关键.乍一看 linux libgcc、c++的库 有两个版本 第一个是 libgcc-4.4.7-23.el6.i686 第二个是“libgcc-4.4.7-11.el6.x86_64” 看名称容易发现第一个比第二个版本高

rpm -qa |grep libgcc   查看一下本机的gcc
libgcc-4.4.7-11.el6.x86_64

rpm -qa | grep libstdc  查看一下本机的c++
libstdc++-4.4.7-23.el6.x86_64

  发现了问题,那么自然想到的就是要统一c和c++库的版本,所以升级一下gcc的库,yum update libgcc-4.4.7-11.el6.x86_64。升级以后,在查看一下本地gcc和c++的库,发现版本是一致的。

  rpm -qa |grep libgcc
  libgcc-4.4.7-23.el6.x86_64
  libgcc-4.4.7-23.el6.i686

然后在安装 数据库服务端就成功了。

(二)、查看linux的版本信息

  刚开始用Linux CentOS的时候,在32位的机子上安装64位的jdk导致某个软件出错,当时看报错也不知道怎么查。所以当拿到一台机子一个好的习惯就是看看机器的配置,在Linux中有这样的一个指令

  uname -a  来查看linux机器的信息

  Linux xiaoming 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

猜你喜欢

转载自www.cnblogs.com/dashwood/p/11531585.html