麒麟系统ARM64架构部署mysql、jdk和java项目
麒麟系统ARM64架构部署mysql、jdk和java项目
一、mysql8的安装
操作步骤:
- 先下载mysql安装包
下载地址:https://downloads.mysql.com/archives/community/
由于官网里,mysql5.7以及更低版本不支持arm版本的,只能安装mysql8。如下图,点击下载
-
把安装包传到服务器上的指定目录下,然后进行解压,直接解压到/usr/local,因为待会的安装目录就在这下面
tar -xf mysql-8.0.35-linux-glibc2.28-aarch64.tar.xz -C /usr/local
-
给目录改名,方便后续操作
mv /usr/local/mysql-8.0.35-linux-glibc2.28-aarch64.tar.xz /usr/local/mysql
-
添加组和用户
groupadd mysql useradd -r -g mysql -s /bin/false mysql
-
创建data目录
mkdir /usr/local/mysql/data
-
进行赋权,将部署目录的所有权给mysql用户组下的mysql用户
chown -R mysql:mysql /usr/local/mysql
-
修改my.cnf文件
vim /etc/my.cnf
-
填写my.cnf的内容
[mysqld] server-id=1 # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data socket=/tmp/mysql.sock pid-file=/usr/local/mysql/data/mysql.pid # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为utf8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password # 忽略大小写 lower_case_table_names = 1 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
-
设置环境变量
vim /etc/profile;
-
在最后一行加上
export PATH=$PATH:/usr/local/mysql/bin
-
刷新一下,让配置生效
source /etc/profile
-
初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user mysql
-
查看初始化密码,在日志中找关键字【root@localhost:】,后面跟着的就是root账号的临时密码
-
启动mysql
/usr/local/mysql/support-files/mysql.server start
-
查看mysql状态进行验证,出现【SUCCESS! MySQL running】的字样就表示启动成功
/usr/local/mysql/support-files/mysql.server status
-
登录mysql,执行以下命令,然后输入刚刚得到的临时密码
mysql -u root -p
-
登录进去后,使用命令创建一个用户用于远程登录,后续就可以用这个用户登录mysql了
-- uname指用户名,可以写为自己需要的用户名 create user 'uname'@'%' identified by '123456';
-
给mysql用户赋权数据库
-- mydatabase指库名,把mydatabase替换成具体库名GRANT ALL PRIVILEGES ON mydatabase.* TO 'uname'@'%';-- 刷新权限FLUSH PRIVILEGES;
-
如果想给root账号修改密码
alter user 'root'@'localhost' identified by '123456';
-
允许root远程登录
-- 创建用于远程登录的root create user 'root'@'%' identified by '123456';-- 赋权,root账号拥有所有的权限 grant all on *.* to 'root'@'%';-- 刷新权限 flush privileges;
二、安装jdk
下载地址:https://www.oracle.com/cn/java/technologies/downloads/#java8
操作步骤:
-
上传安装包到服务器的某个目录下
-
解压安装包
tar -zxvf jdk-8u301-linux-x64.tar.gz
-
给文件夹重命名一下
mv jdk-8u301-linux-x64 jdk
-
修改/etc/profile,在最后追加以下内容(注意:/opt/jdk是我jdk的安装路径,根据实际情况进行修改)
export JAVA_HOME=/opt/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
-
生效配置
source /etc/profile
-
验证是否成功
java -version
出现类似以下的版本信息就表示安装成功
三、部署Java项目
先把Java的jar包准备好,上传至服务器。
部署步骤:
-
进入到jar包所在目录,因为我的项目就一个jar包,唯一需要注意的就是项目配置需要修改一下,比如:把mysql相关配置改为我部署的mysql。先创建一个config目录,将application.yml、logback.xml等配置文件放进入,然后根据情况进行修改。
-
编写启动脚本start.sh
#!/bin/sh APP_JAR=`ls -p | grep -e '\.jar$'` APP_NAME=`echo ${APP_JAR%.jar}` nohup java -jar $APP_JAR --spring.config.location=./config/application.yml --logging.config=./config/logback.xml > $APP_NAME".log" 2>&1 & echo $! > $APP_NAME".tpid" echo $APP_NAME Start Success!
-
编写停止脚本
#!/bin/sh APP_NAME=`ls -p | grep -e '\.jar$'`tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; thenecho 'Stopping' $APP_NAME '...'kill -15 $tpid fi sleep 5 tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; thenecho 'Kill' $APP_NAME 'Process!'kill -9 $tpid elseecho $APP_NAME 'Stoped Success! ' fi
-
给脚本赋权
chmod 777 *.sh
-
执行脚本启动程序
./start.sh
-
查看程序日志,是正常的就算启动成功了,也可以通过ps -ef|grep java查看java进程
-
防火墙开通端口,以便端口可以被外界访问
# 开通8080端口 sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent # 移除8080端口 sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent # 重新加载防火墙配置,开通端口后一定要重新加载一次 sudo firewall-cmd --reload # 查看已开放端口 sudo firewall-cmd --zone=public --list-ports