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 root@公網IP 輸入SFTP命令連接 -> 輸入實例登錄密碼
put 本地文件 服務器路徑 上傳
get 服務器文件 本地路徑 下載
四 遠程訪問
ssh root@公網IP 輸入SSH命令連接 -> 輸入實例登錄密碼
五 關閉防火墻
systemctl stop firewalld.service 關閉防火墻
systemctl disable firewalld.service 關閉防火墻開機自啟動功能
firewall-cmd --state 查看防火墻狀態
六 安裝JDK
rpm -qa | grep java 查看當前Linux系統是否已安裝java
rpm -e --nodeps 要卸載的軟件 卸載已安裝java
cd /usr/local
mkdir jdk
cd jdk壓縮包所在目錄
tar -xvf jdk-8u171-linux-x64.tar.gz -C /usr/local/jdk 解壓
vim /etc/profile 配置jdk環境變量 將下面配置拷貝進去
# 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
source /etc/profile 重新加載/etc/profile配置文件
七 安裝Tomcat
cd /usr/local
mkdir tomcat
cd tomcat壓縮包所在目錄
tar -xvf apache-tomcat-8.5.31.tar.gz -C /usr/local/tomcat 解壓
cd /usr/local/tomcat/apache-tomcat-8.5.31/bin
./startup.sh 啟動
./shutdown.sh 關閉
八 安裝MySQL
rpm -qa | grep mysql 查看當前Linux系統是否已安裝mysql
rpm -e --nodeps 要卸載的軟件 卸載已安裝mysql
rpm -qa | grep mariadb 查看當前Linux系統是否已安裝mariadb
rpm -e --nodeps 要卸載的軟件 卸載已安裝mariadb
yum install libaio mysql依賴
cd /usr/local
mkdir 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
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數據庫狀態
mysql_secure_installation 進入安全設置向導(新版的mysql必須先修改root用戶的密碼 否則登錄後是不能執行任何命令的)
向導一
用戶帳戶根的現有密碼已過期 請設置一個新的密碼
向導二
驗證密碼插件可以用來測試密碼和提高安全性 它檢查密碼的強度 允許用戶只設置那些密碼足夠安全 你願意安裝驗證密碼插件嗎?
向導三
使用現有的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 ‘這裏替換成你自己的密碼‘;
Linux 安裝JDK Tomcat MySQL(使用Mac遠程訪問)