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;
相关推荐
黑子哥呢?37 分钟前
Linux---防火墙端口设置(firewalld)
linux·服务器·网络
鲁正杰2 小时前
在一个服务器上抓取 Docker 镜像并在另一个服务器上运行
运维·服务器·docker
F-2H2 小时前
C语言:指针4(常量指针和指针常量及动态内存分配)
java·linux·c语言·开发语言·前端·c++
aherhuo2 小时前
基于openEuler22.09部署OpenStack Yoga云平台(一)
linux·运维·服务器·openstack
WebDeveloper20012 小时前
如何使用美国域名中心US Domain Center和WordPress创建商业网站
运维·服务器·css·网络·html
檀越剑指大厂2 小时前
【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较
linux·运维·服务器
2301_819287125 小时前
ce第六次作业
linux·运维·服务器·网络
CIb0la5 小时前
GitLab 停止为中国区用户提供 GitLab.com 账号服务
运维·网络·程序人生
武汉联从信息5 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器
天天进步20155 小时前
STUN服务器实现NAT穿透
运维·服务器