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;
相关推荐
向阳12188 分钟前
Dubbo负载均衡
java·运维·负载均衡·dubbo
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
海阔天空_20131 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
桥田智能1 小时前
气爪在自动化装配线中是如何应用的?
运维·自动化
九河云1 小时前
如何选择适合的AWS EC2实例类型
服务器·云计算·aws
€☞扫地僧☜€3 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
hjjdebug3 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯3 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流3 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩3 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3