文章目录
- 环境准备
- 1.安装jdk
- 2.安装mysql
- 3.开启端口
- 上传项目
- 1.数据库上传
- 2.项目上传
环境准备
1.安装jdk
- 查看系统中原来是否含有java环境
rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj
其中,gcj是一个轻巧的,性能优越的Java语言编译器。它能够将Java源文件编译为Java字节码文件或者直接将Java源文件编译为本地机器码,它也能够将Java字节码文件编译为本地机器码。
如果存在自带的相关环境,需要删除再执行后面的操作:
rpm -qa | grep java | xargs rpm -e --nodeps
- 查看可用的openjdk版本
yum search java | grep -i --color jdk
- 安装openjdk1.8.0版本(可自选),中间出现停顿问is this [y/N],选y
yum install java-1.8.0-openjdk*
- 查看jdk安装,出现以下信息则安装成功
java -version
- jdk变量配置,使用vim /etc/profile编辑,将以下配置复制到profile中,其中注意JAVA_HOME中的jdk版本要一致
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
输入:wq保存退出后,执行以下命令,让配置生效
source /etc/profile
2.安装mysql
- 查看版本:有则需要卸载
rpm -qa|grep mariadb #MySQL 的一个分支,主要由开源社区维护。
rpm -qa|grep mysql
- 卸载
rpm -e --nodeps 文件名
- 下载,在/usr/local/目录下执行
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
- 解压
# .tar.gz 后缀
tar -zxvf 文件名
# .tar.xz 后缀
tar -Jxvf 文件名
tar -Jxvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
- 重命名
# 重命名(也可通过Xftp修改)
mv 原文件夹名 mysql8
# 软链接
ln -s 文件夹名 mysql8
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8
- 创建用户组
groupadd mysql
useradd -r -g mysql mysql
- 修改配置
临时生效:export 命令(连接会话关闭后失效,通常用于测试环境)
export PATH=$PATH:/usr/local/mysql8/bin
创建目录
mkdir -p /data/mysql8_data
赋予权限
# 更改属主和数组
chown -R mysql:mysql /data/mysql8_data
# 更改模式
chmod -R 750 /data/mysql8_data
永久生效:修改配置文件。
vim /usr/local/etc/my.cnf
配置内容
[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
# 安装目录
basedir = /usr/local/mysql8
# 数据存放目录
datadir = /data/mysql8_data/mysql
log-bin = /data/mysql8_data/mysql/mysql-bin
innodb_data_home_dir =/data/mysql8_data/mysql
innodb_log_group_home_dir =/data/mysql8_data/mysql
# 日志及进程数据的存放目录
log-error =/data/mysql8_data/mysql/mysql.log
pid-file =/data/mysql8_data/mysql/mysql.pid
# 服务端字符集
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
##### 以上涉及文件夹明,注意修改
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建表时使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
初始化
--defaults-file
:指定配置文件(要放在–initialize 前面)--user
: 指定用户--basedir
:指定安装目录--datadir
:指定初始化数据目录--intialize-insecure
:初始化无密码(否则生成随机密码)
mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize-insecure
- 启动
# 完整命令
/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
# 若添加了PATH变量,可省略如下
mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
确认启动
ps -ef|grep mysql
- 登录
无密码:若以 --initialize-insecure
初始化,首次登录时跳过密码。
mysql -u root --skip-password
有密码:若初始化时设置了随机密码,在 /data/mysql8_data/mysql/mysql.log
查看
mysql -u root -p
- 修改密码
进入mysql用户:
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
# 刷新权限
FLUSH PRIVILEGES;
Linux命令:
mysqladmin -u用户名 -p旧密码 password 新密码
- 修改访问权限
查看用户
USE mysql;
SELECT user,host,plugin,authentication_string FROM user;
创建用户,设置远程访问权限
# 创建用户
CREATE user 'root'@'%';
# 设置首次密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
# 授权用户所有权限,刷新权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
3.开启端口
登录阿里云,找到工作台–云服务器ECS–安全组–配置规则
将需要用到的端口号配置进去
上传项目
1.数据库上传
使用navicat远程连接数据库(服务器ip+3306端口),将本地数据导出,导入到服务器的数据库上
2.项目上传
- 在项目的pom.xml中添加
<packaging>jar</packaging>
在application.yml中将数据库连接改成服务器中的数据库设置,并注意此处的端口号需要在阿里云的安全组中配置。
启动项目,先在本地测试能不能打开项目,并访问服务器上的数据库,如果可以,则进行下一步,不然就检查一下数据库配置和防火墙配置。
- 关闭项目,在maven–Lifecycle这里找到package,双击打包
在该项目路径的target中找到jar包
- 使用xftp工具,将jar包上传到根目录
- 使用java指令运行jar包
java -jar ***.jar ``//``***为你的jar包名
java -jar blog-0.0.1-SNAPSHOT.jar //普通运行,关掉xshell,或者ctrl+z/ctrl+c都会关闭项目
nohup -jar blog-0.0.1-SNAPSHOT.jar & //不中断运行,只有关闭服务项目才会停止
netstat -lnp|grep 端口号
kill 进程号 //关闭进程服务