• 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 '这里替换成你自己的密码';

  • 相关阅读:
    Java:多线程<一>
    Java:Exception
    Java: 内部类
    Ubuntu安装jdk
    ubuntu搜狗拼音安装
    录音-树莓派USB摄像头话筒
    leetcode 最小栈
    leetcode 编辑距离 动态规划
    leetcode 最小覆盖字串
    leetcode 最长上升子序列 动态规划
  • 原文地址:https://www.cnblogs.com/huangyi-427/p/9225328.html
Copyright © 2020-2023  润新知