信创改造-龙蜥操作系统搭载MySql、Tomcat等服务

devtools/2025/1/18 18:18:02/

龙蜥操作系统
Anolis OS 8 是 OpenAnolis 社区推出的完全开源、中立、开放的发行版,它支持多计算架构,也面向云端场景优化,兼容 CentOS 软件生态。Anolis OS 8 旨在为广大开发者和运维人员提供稳定、高性能、安全、可靠、开源的操作系统服务。
Apache Tomcat官网: Anolis系统中离线安装Tomcat与Linux一致,Tomcat下载到本地,上传解压运行即可。
在这里插入图片描述

MySql官网
Anolis系统中离线安装MySql数据库,与Linux安装方式基本一致。
安装版本:mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进入安装流程

创建目录

mkdir -p /server/tools
mkdir -p /opt/mysql
mkdir -p /data/mysql/mysql3306/{data,logs}
cd /server/tools #进入到该目录

解压安装包

tar zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

移动到指定目录

mv mysql-5.7.26-linux-glibc2.12-x86_64  /opt/mysql/mysql-5.7.26

创建软连接

ln -s /opt/mysql/mysql-5.7.26/ /usr/local/mysql

编辑配置文件

vi /data/mysql/mysql3306/my3306.cnf
[client]
user=mysql
port= 3306
socket= /data/mysql/mysql3306/mysql.sock
[mysqld]
port= 3306
user=mysql
server_id= 1
basedir=/usr/local/mysql
datadir=/data/mysql/mysql3306/data
log_error=/data/mysql/mysql3306/logs/error.log
log_bin=/data/mysql/mysql3306/logs/mysql-bin
binlog_format=row
gtid_mode=on
enforce_gtid_consistency=true
log_slave_updates=1
max_connections=1024
wait_timeout=60
sort_buffer_size=2M
max_allowed_packet=32M
join_buffer_size=2M
innodb_buffer_pool_size=128M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=2
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
slow_query_log=on
slow_query_log_file=/data/mysql/mysql3306/logs/slow.log
long_query_time=0.5
log_queries_not_using_indexes=1

初始化数据库

初始化数据库之前如果/data/mysql/mysql3306路径下有data文件夹,则需要删除,否则初始化失败。

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql  --datadir=/data/mysql/mysql3306/data

加入环境变量

vim /etc/profile #vim编辑
export PATH="/usr/local/mysql/bin:$PATH"

启动数据库

mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf &

查看是否启动成功

在这里插入图片描述

netstat -lntup
启动数据库报错

在这里插入图片描述

2025-01-13T09:19:04.303142Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2025-01-13T09:19:04.303159Z 0 [ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temporary table files.
解决报错
vim /etc/my.cnf
datadir=/var/lib/mysql/data删除data目录中的内容
rm -rf data  //在mysql安装目录下执行
mkdir data  

在这里插入图片描述

连接数据库

因为初始化的时候设置了–initialize-insecure,所以登录时不需要密码。

第一次连接没有密码,直接敲回车:mysql -u root -p

在这里插入图片描述

存在问题

启动数据库时只能使用:mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf &
不能使用用:service mysqld start命令,使用该命令会报如下错误:

 Starting MySQL.Logging to '/usr/local/mysql/data/anolis.err'.ERROR! The server quit without updating PID file (/usr/local/mysql/data/anolis.pid).
解决办法
  1. 将配置文件移动到mysql的安装目录
    在这里插入图片描述
  2. 修改配置文件中的路径
    在这里插入图片描述
  3. 设置通过命令启动: mv /opt/mysql/mysql-5.7.26/support-files/mysql.server /etc/init.d/mysqld
  4. 设置用户权限
# 增加用户和组
[root@anolis ~]# groupadd mysql
[root@anolis ~]# useradd -r -g mysql mysql
# 设置对应的mysql文件权限
# 这里因为/usr/local/mysql/data是创建的/opt/mysql/mysql-5.7.26/的软链接,所以两个地址实际上是一个
chown mysql:mysql -R /opt/mysql/mysql-5.7.26/
chmod -R 755 /usr/local/mysql/data
  1. 初始化数据库
# 进入mysql安装目录
cd /usr/local/mysql/data
# 删除data
rm -rf data/
# 初始化,如果是--initialize的话登录就需要输入密码
./bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize-insecure --user=mysql
# 初始化完成后可进行启动数据库
[root@anolis mysql]# service mysqld restartERROR! MySQL server PID file could not be found!
Starting MySQL.. SUCCESS! 
登录数据库
[root@anolis mysql]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26-log MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
# 设置数据库密码
mysql>  update user set authentication_string=password("数据库密码") where user="root";
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 1
# 刷新,否则可能不生效
mysql> flush privileges; 
Query OK, 0 rows affected (0.05 sec)
# 设置数据库远程访问
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0
# 刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 退出
mysql> quit;Bye
设置MySQL开机自启

设置MySQL开机自启可以通过chkconfig命令来实现

# 添加到管理列表
chkconfig --add mysqld
# 设置开机自启动,或者通过chkconfig --level 2345 mysql on命令来指定在运行级2、3、4、5中开启MySQL服务
chkconfig mysqld on
# 查看设置状态
chkconfig --list mysqld
[root@anolis ~]# chkconfig --list mysqld
Note: This output shows SysV services only and does not include nativesystemd services. SysV configuration data might be overridden by nativesystemd configuration.If you want to list systemd services use 'systemctl list-unit-files'.To see services enabled on particular target use'systemctl list-dependencies [target]'.mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

http://www.ppmy.cn/devtools/151619.html

相关文章

Apache Nifi 信息泄露漏洞复现(CVE-2024-56512)(附脚本)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。 0x01 产品描述: Apache NiFi是一个易于使用、功能强大且可靠的数据…

如何运行第一个Tomcat HttpServlet 程序

怀旧网个人博客网站地址:怀旧网,博客详情:如何运行第一个Tomcat HttpServlet 程序 1、编写一个 Servlet 类 创建一个包 在创建一个类--继承HttpServlet 爆红:原因,没有导入所依赖的包 altenter 选着add macen 选着第…

Vue3实现表格搜索内容高亮

采用html拼接 v-html 指令用来将给定的 HTML 字符串直接渲染到页面上 <template><div><!-- 搜索框 --><input v-model"searchText" placeholder"搜索内容" /><!-- 表格 --><el-table :data"tableData" style…

【Excel超实用,VLOOKUP函数,通过excel数据精准匹配,将一个excel文件的某列数据,用另一个excel文件快速填充】

1、使用背景 如下图1所示&#xff0c;1.xlsx文件&#xff0c;有两列数据&#xff0c;一列序号&#xff0c;一列内容&#xff0c; 我现在需要将第二列的内容快速完成填充&#xff0c;并且有相应的excel模板作为参照。 图1 如图2所示&#xff0c;2.xlsx是模板文件&#xff0c;序…

c#删除文件和目录到回收站

之前在c上遇到过这个问题&#xff0c;折腾许久才解决了&#xff0c;这次在c#上再次遇到这个问题&#xff0c;不过似乎容易了一些&#xff0c;亲测代码如下&#xff0c;两种删除方式都写在代码中了。 直接上完整代码&#xff1a; using Microsoft.VisualBasic.FileIO; using Sy…

怎么抓取IOS手机app的网络流量,也就是iphone手机抓包

继续昨天的教程&#xff0c;如抓取ios手机上的https请求。今天介绍如何在抓取iphone手机上的非https请求 也就是socket通信的数据。如果在pc上我们会第一时间讲到wireshark&#xff0c;但是对移动设备&#xff0c;似乎就要复杂很多。最近研究发现的工具嗅探大师&#xff0c;能…

51.WPF应用加图标指南 C#例子 WPF例子

完整步骤&#xff1a; 先使用文心一言生成一个图标如左边使用Windows图片编辑器编辑&#xff0c;去除背景使用正方形&#xff0c;放大图片使图标铺满图片使用格式工程转换为ico格式&#xff0c;分辨率为最大 在资源管理器中右键项目添加ico类型图片到项目里图片属性设置为始终…

【Qt 常用控件】按钮类(QPushButton、QRadioButton、QCheckBox)

按钮控件继承自抽象类QAbstractButton。 抽象类不允许实例化对象&#xff0c;内部定义纯虚函数。只能通过子类继承&#xff0c;重写纯虚函数的方式使用。 1. QPushButton 1.1 QAbstractButton中和QPushButton相关的属性 text按钮显示文本icon按钮图标iconSize按钮图标尺寸s…