Linux下rpm方式部署mysql(国产化生产环境无联网服务器部署实操)

请放心观看,已在正式环境部署验证,流程无问题!

所用系统为国产化麒麟银河 aarch64系统,部署时间2024年9月份!

复制代码
#查看服务器信息
#涉及生产服务器,所以输出信息隐藏了一部分

[root@ecs-xxxxx hdata]# uname -a
Linux  ky10.aarch64   aarch64 aarch64 aarch64 GNU/Linux

因为服务器无网络环境,系统又是aarch64系统,我尝试了很多直接解压tar.zip包的版本,都报错无法启动mysql,最后选择rpm离线包安装方式,成功安装!

一、卸载旧版本

1.检查是否有旧版本

复制代码
rpm -qa | grep mysql
rpm -qa | grep mariadb

上述查询有结果的话,就执行下面命令进行卸载

复制代码
rpm -e 上述查询出的结果

#或者使用yum命令卸载
yum -y remove 上述查询出的结果

2.查看etc/目录下是否存在my.cnf文件

复制代码
ls etc/my.cnf
# 有的话就删除
rm /etc/my.cnf

3.卸载MySQL后残留数据保存路径

复制代码
find / -name mysql
# 删除
rm -rf 查找的路径名

二、mysql下载

1.国内镜像站下载,速度快

下载地址:mysql-MySQL-8.0安装包下载_开源镜像站-阿里云

2.官网下载

下载地址:MySQL :: Download MySQL Community Server

三、部署mysql

1.上传到linux服务器/usr/local/mysql目录下(也可自定义上传目录),并解压

复制代码
tar -xvf mysql-8.0.37-1.el7.aarch64.rpm-bundle.tar

按照顺序依次安装

复制代码
rpm -ivh mysql-community-common-8.0.37-1.el7.aarch64.rpm
rpm -ivh mysql-community-client-plugins-8.0.37-1.el7.aarch64.rpm
rpm -ivh mysql-community-libs-8.0.37-1.el7.aarch64.rpm
rpm -ivh mysql-community-client-8.0.37-1.el7.aarch64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.37-1.el7.aarch64.rpm
rpm -ivh mysql-community-server-8.0.37-1.el7.aarch64.rpm

安装的时候如果报缺少依赖,可以根据下面rpm包下载地址去找对应的包;或者强制安装试一下,我安装server的时候报了个缺少依赖,强制安装成功,数据库也正常启动没问题。

复制代码
rpm -ivh --force --nodeps mysql-community-server-8.0.37-1.el7.aarch64.rpm

rpm方式下载包:rpm包下载&网址&wget 方式下载-CSDN博客

复制代码
#无网络环境可以去RPM下载站去找rpm包
rpm -ivh 包名

#有网络环境使用以下命令
yum install xxx

四、修改配置文件

主要是配置下数据存储目录、端口号、日志存储目录等。

复制代码
vim /etc/my.cnf
bash 复制代码
[mysqld]

#设置mysql数据库的数据存放目录
datadir = /usr/local/data

#设置端口
port = 3306
socket = /tmp/mysql.sock

#设置字符集
character-set-server=utf8

#日志存放目录
log-error = /usr/local/mysqld.log
pid-file = /usr/local/mysqld.pid


#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

五、启动服务

注:有时候如果不是mysqld服务的话可能是mysql服务。

bash 复制代码
systemctl start mysqld    # 启动
systemctl status mysqld    # 查看启动状态
systemctl restart mysqld    # 重启
systemctl stop mysqld    # 停止

六、连接数据库,修改登录信息

1.查看数据库密码

bash 复制代码
#通过日志查看初始root密码
cat /var/log/mysqld.log | grep password

2.临时登录

bash 复制代码
mysql -u root -p 
#输入临时密码登录

3.修改密码

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '这里设置你的密码';

#修改完成后,刷新权限
flush privileges;

4.设置远程登录

bash 复制代码
#切换到mysql数据库
use mysql;
update user set host = '%' where user = 'root';

#修改完成后,刷新权限
flush privileges;
相关推荐
Li-Yongjun25 分钟前
深度解析 Linux 内核参数 net.ipv4.tcp_rmem:优化网络性能的关键
linux·网络·tcp/ip
藥瓿亭26 分钟前
K8S认证|CKS题库+答案| 10. Trivy 扫描镜像安全漏洞
linux·运维·服务器·云原生·容器·kubernetes·cks
leo__5201 小时前
在Ubuntu中设置开机自动运行(sudo)指令的指南
服务器·ubuntu·postgresql
Leo.yuan1 小时前
数据湖是什么?数据湖和数据仓库的区别是什么?
大数据·运维·数据仓库·人工智能·信息可视化
程序员JerrySUN1 小时前
Linux 内核内存管理子系统全面解析与体系构建
java·linux·运维
CIb0la2 小时前
Ai自动补全编程工具:llama vscode
运维·开发语言·学习·测试工具·程序人生
rui锐rui2 小时前
大模型模型部署和暴露接口
linux·运维·服务器
Clownseven2 小时前
云防火墙(安全组)配置指南:从入门到精通端口开放 (2025)
服务器·安全
BJ_Bonree2 小时前
博睿数据×华为, 共筑智慧金融新未来
运维
孙克旭_2 小时前
day030-Shell自动化编程-函数
linux·运维·自动化