阅读本文需要一定的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/
三 文件传输
put 本地文件 服务器路径 上传
get 服务器文件 本地路径 下载
四 远程访问
ssh [email protected] 输入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 [email protected]%‘ IDENTIFIED WITH mysql_native_password BY ‘这里替换成你自己的密码‘;
原文:https://www.cnblogs.com/huangyi-427/p/9225328.html