麒麟系统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了

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

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

    alter user 'root'@'localhost' identified by '123456';
    
  19. 允许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
在这里插入图片描述

操作步骤:

  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
    
### 在麒麟操作系统 ARM 架构上安装配置数据库 #### 数据库的选择与支持情况 在麒麟操作系统的 ARM 构架环境下,可以选择多种数据库进行安装配置。常见的选项包括 MariaDB openGauss。这两种数据库均提供针对 ARM 平台的支持,并且有详细的文档指导其部署过程。 --- #### 安装配置 MariaDB 的方法 MariaDB 是一种广泛使用的开源关系型数据库管理系统,在麒麟操作系统上的安装相对简单。以下是具体的实现方式: 1. **验证 JDK 是否已安装** 执行 `java -version` 命令来确认系统是否已经预装 OpenJDK 1.8 或更高版本[^1]。如果未安装,则可以通过包管理器完成安装: ```bash sudo apt update && sudo apt install default-jdk ``` 2. **更新软件源并安装 MariaDB** 使用 APT 软件包管理工具获取最新版本的 MariaDB: ```bash sudo apt-get update sudo apt-get install mariadb-server mariadb-client ``` 3. **启动服务并设置开机自启** 启动 MariaDB 服务并将它设为随系统自动运行: ```bash sudo systemctl start mariadb sudo systemctl enable mariadb ``` 4. **安全初始化脚本** 运行安全脚本来增强数据库的安全性,例如修改 root 密码、禁用远程登录等: ```bash sudo mysql_secure_installation ``` 5. **测试连接** 登录到 MySQL/MariaDB 控制台以验证安装成功与否: ```bash mysql -u root -p ``` --- #### 安装配置 openGauss 的方法 对于更高级的需求,openGauss 提供了一个高性能的企业级分布式数据库解决方案。以下是基于官方指南的操作流程[^2]: 1. **下载适合 ARM 的二进制文件** 访问 [openGauss 下载页面](https://opengauss.org/zh/download/archive/) 获取适用于 ARM 版本的麒麟 V10 SP1 系统的压缩包。注意选择合适的版本号(如 3.0.5),因为不同版本可能存在兼容性差异。 2. **解压 tar 文件** 将下载好的 `.tar.gz` 文件上传至目标服务器并通过以下命令提取内容: ```bash tar zxvf opengauss-3.0.5-openEuler-aarch64-bin.tar.gz -C /opt/opengauss/ ``` 3. **创建专用用户组服务账户** 创建一个新的 Linux 用户专门用于运行 openGauss 实例,避免权限冲突风险: ```bash groupadd ogadmin useradd -g ogadmin gaussdb passwd gaussdb chown -R gaussdb:ogadmin /opt/opengauss/ su - gaussdb export PATH=/opt/opengauss/bin:$PATH source ~/.bashrc ``` 4. **初始化集群实例** 设置数据目录路径以及端口号参数后执行初始化程序: ```bash gsql -d postgres -U gaussdba -W your_password <<EOF CREATE DATABASE testdb; \q EOF gs_initdb -D $GAUSSDATA --nodename=dn_6001 ``` 5. **调整防火墙规则允许外部访问** 如果需要让其他设备能够通过网络访问此数据库,请确保开放指定的服务端口(默认情况下可能是 5432)。 ```bash firewall-cmd --zone=public --add-port=5432/tcp --permanent firewall-cmd --reload ``` 6. **最后一步——开启守护进程** 开始监听客户端请求并向日志写入活动状态信息: ```bash gs_ctl start -D $GAUSSDATA -Z single_node ``` --- #### 总结说明 无论是选用轻量化的 MariaDB 还是功能强大的 openGauss,都可以满足大多数场景下的需求。前者更适合中小型项目快速搭建;后者则面向高并发事务处理或者复杂查询优化的应用场合。具体选型应依据实际业务规模技术栈偏好决定。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佛祖保佑永不宕机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值