麒麟系统ARM64架构部署mysql、jdk和java项目

麒麟系统ARM64架构部署mysql、jdk和java项目

一、mysql8的安装

操作步骤:

  1. 先下载mysql安装包

下载地址:https://downloads.mysql.com/archives/community/

由于官网里,mysql5.7以及更低版本不支持arm版本的,只能安装mysql8。如下图,点击下载

  1. 把安装包传到服务器上的指定目录下,然后进行解压,直接解压到/usr/local,因为待会的安装目录就在这下面

    复制代码
    tar -xf mysql-8.0.35-linux-glibc2.28-aarch64.tar.xz -C /usr/local
  2. 给目录改名,方便后续操作

    复制代码
    mv /usr/local/mysql-8.0.35-linux-glibc2.28-aarch64.tar.xz /usr/local/mysql
  3. 添加组和用户

    复制代码
    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql
  4. 创建data目录

    复制代码
    mkdir /usr/local/mysql/data
  5. 进行赋权,将部署目录的所有权给mysql用户组下的mysql用户

    复制代码
    chown -R mysql:mysql /usr/local/mysql
  6. 修改my.cnf文件

    复制代码
    vim /etc/my.cnf
  7. 填写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
  8. 设置环境变量

    复制代码
    vim /etc/profile;
  9. 在最后一行加上

    复制代码
    export PATH=$PATH:/usr/local/mysql/bin
  10. 刷新一下,让配置生效

    复制代码
    source /etc/profile
  11. 初始化数据库

    复制代码
    /usr/local/mysql/bin/mysqld --initialize --user mysql
  12. 查看初始化密码,在日志中找关键字【root@localhost:】,后面跟着的就是root账号的临时密码

  13. 启动mysql

    复制代码
    /usr/local/mysql/support-files/mysql.server start
  14. 查看mysql状态进行验证,出现【SUCCESS! MySQL running】的字样就表示启动成功

    复制代码
    /usr/local/mysql/support-files/mysql.server status
  15. 登录mysql,执行以下命令,然后输入刚刚得到的临时密码

    复制代码
    mysql -u root -p
  16. 登录进去后,使用命令创建一个用户用于远程登录,后续就可以用这个用户登录mysql了

    mysql 复制代码
    -- uname指用户名,可以写为自己需要的用户名
    create user 'uname'@'%' identified by '123456';
  17. 给mysql用户赋权数据库

    mysql 复制代码
     -- mydatabase指库名,把mydatabase替换成具体库名
     GRANT ALL PRIVILEGES ON mydatabase.* TO 'uname'@'%';
     -- 刷新权限
     FLUSH PRIVILEGES;
  18. 如果想给root账号修改密码

    mysql 复制代码
    alter user 'root'@'localhost' identified by '123456';
  19. 允许root远程登录

    mysql 复制代码
    -- 创建用于远程登录的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

操作步骤:

  1. 上传安装包到服务器的某个目录下

  2. 解压安装包

    复制代码
    tar -zxvf jdk-8u301-linux-x64.tar.gz
  3. 给文件夹重命名一下

    复制代码
    mv jdk-8u301-linux-x64 jdk
  4. 修改/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
  5. 生效配置

    复制代码
    source /etc/profile
  6. 验证是否成功

    复制代码
    java -version

    出现类似以下的版本信息就表示安装成功

三、部署Java项目

先把Java的jar包准备好,上传至服务器。

部署步骤:

  1. 进入到jar包所在目录,因为我的项目就一个jar包,唯一需要注意的就是项目配置需要修改一下,比如:把mysql相关配置改为我部署的mysql。先创建一个config目录,将application.yml、logback.xml等配置文件放进入,然后根据情况进行修改。

  2. 编写启动脚本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!
  3. 编写停止脚本

    复制代码
    #!/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} ]; then
        echo '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} ]; then
        echo 'Kill' $APP_NAME 'Process!'
        kill -9 $tpid
    else
        echo $APP_NAME 'Stoped Success! '
    fi
  4. 给脚本赋权

    复制代码
    chmod 777 *.sh
  5. 执行脚本启动程序

    复制代码
    ./start.sh
  6. 查看程序日志,是正常的就算启动成功了,也可以通过ps -ef|grep java查看java进程

  7. 防火墙开通端口,以便端口可以被外界访问

    复制代码
    # 开通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
相关推荐
四谎真好看9 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
桦说编程9 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
java_t_t9 小时前
ZIP工具类
java·zip
lang2015092810 小时前
Spring Boot优雅关闭全解析
java·spring boot·后端
pengzhuofan11 小时前
第10章 Maven
java·maven
百锦再11 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
刘一说11 小时前
Spring Boot 启动慢?启动过程深度解析与优化策略
java·spring boot·后端
壹佰大多11 小时前
【spring如何扫描一个路径下被注解修饰的类】
java·后端·spring
百锦再11 小时前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven
DokiDoki之父12 小时前
Spring—注解开发
java·后端·spring