Linux 安装JDK Tomcat MySQL(使用Mac远程访问)

阅读本文需要一定的Linux基础

一 环境

阿里云服务器: CentOS 7.4 64位(基于RedHat) 

本机: macOS High Sierra

二 压缩包

JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Tomcat https://tomcat.apache.org/download-80.cgi#8.5.31

MySQL https://dev.mysql.com/downloads/mysql/

三 文件传输

输入SFTP命令连接 -> 输入实例登录密码

  sftp root@公网IP

上传

  put 本地文件 服务器路径

下载

  get 服务器文件 本地路径

四 远程访问

输入SSH命令连接 -> 输入实例登录密码

  ssh root@公网IP

五 关闭防火墙

关闭防火墙

  systemctl stop firewalld.service

关闭防火墙开机自启动功能

  systemctl disable firewalld.service

查看防火墙状态

  firewall-cmd --state

六 安装JDK

查看当前Linux系统是否已安装java

  rpm -qa | grep java

卸载已安装java

  rpm -e --nodeps 要卸载的软件

新建目录

  mkdir /usr/local/jdk

解压

  cd jdk压缩包所在目录

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

配置jdk环境变量 将下面配置拷贝进去

  vim /etc/profile

# java environment
JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

重新加载/etc/profile配置文件

  source /etc/profile

七 安装Tomcat

需要安装JDK

新建目录

  mkdir /usr/local/tomcat

解压

  cd tomcat压缩包所在目录

  tar -xvf apache-tomcat-8.5.31.tar.gz -C /usr/local/tomcat

进入bin目录

  cd /usr/local/tomcat/apache-tomcat-8.5.31/bin

  启动

    ./startup.sh

  关闭

    ./shutdown.sh

八 安装MySQL

查看当前Linux系统是否已安装mysql

  rpm -qa | grep mysql

卸载已安装mysql

  rpm -e --nodeps 要卸载的软件

查看当前Linux系统是否已安装mariadb

  rpm -qa | grep mariadb

卸载已安装mariadb

  rpm -e --nodeps 要卸载的软件

mysql依赖

  yum install libaio

新建目录

  mkdir /usr/local/mysql

解压

  cd mysql压缩包所在目录

  tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql

安装

  cd /usr/local/mysql

  rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm

  rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm

  rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm

  rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm

初始化mysql数据库

  mysqld --initialize

查看mysql密码

  more /var/log/mysqld.log

修改mysql数据库目录的所属用户及其所属组

  chown mysql:mysql /var/lib/mysql -R

启动mysql数据库

  systemctl start mysqld.service

查看mysql数据库状态

  systemctl status mysqld.service

进入安全设置向导(新版的mysql必须先修改root用户的密码 否则登录后是不能执行任何命令的)

  mysql_secure_installation

向导一
用户帐户根的现有密码已过期 请设置一个新的密码

向导二

验证密码插件可以用来测试密码和提高安全性 它检查密码的强度 允许用户只设置那些密码足够安全 你愿意安装验证密码插件吗?

向导三

使用现有的root密码

向导四

默认情况下 MySQL安装有匿名用户 允许任何人在不需要的情况下登录MySQL 为它们创建的用户帐户 这只是为了测试 并使安装更加顺利 您应该在进入生产环境之前删除它们

向导五

通常 根应该只允许连接"localhost" 这确保了有人无法猜测来自网络的根密码(这个我也搞不懂了 选择是或者否 都无法远程访问 需要额外设置 下面会讲到)

向导六

默认情况下 MySQL提供一个名为"test"的数据库 任何人都可以访问 这也是为了测试 并且在进入生产前应该被移除

向导七

重新加载特权表将确保所有更改 到目前为止所做的一切将立即生效

mysql默认开机启动

解决问题

java.sql.SQLException: null, message from server: "Host '113.57.183.25' is not allowed to connect to this MySQL server"

原因: MySQL不允许从远程访问

解决办法 -> 服务器输入:

  mysql -uroot -p;

  输入MySQL登录密码

  use mysql;

  update user set host = '%' where user = 'root';

  select host, user from user;

  flush privileges;

java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

原因: 不允许检索公钥

解决办法 -> 代码修改:

  MySQL url添加一个参数allowPublicKeyRetrieval=true

  jdbc:mysql://120.79.191.83:3306/web?characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true

Navicat Premium 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found

原因: MySQL8.0改变了身份验证插件

解决办法 -> 服务器输入:

  mysql -uroot -p;

  输入MySQL登录密码

  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '这里替换成你自己的密码';

原文地址:https://www.cnblogs.com/huangyi-427/p/9225328.html