rpm -ivh方式安装mysql并修改数据存储位置的实现

 更新时间:2023年09月12日 09:17:47   作者:吹牛不交税  
在Linux环境下进行MySQL的安装可以使用不同的方式,但在本文中我们将关注一种特定的方式,即通过RPM包的方式进行安装,本文主要介绍了rpm -ivh方式安装mysql并修改数据存储位置的实现,感兴趣的可以了解一下

因为贪图便宜,也因为开始选服务器时不懂,没注意,新买的linux服务器选了个arm架构的cpu然后系统也自然而然只能选唯一的arm架构的centos7.9 。因为这个失误,让我在arm架构的linux上安装mysql尝尽了苦头。

先总结记录如下:

1、下载mysql tar.gz 安装包

安装包下载链接:MySQL Community Downloads , centos7的只能选择redhed系统下的安装包。而且我的阿里云系统是arm版本的,还智能选择arm系列安装包。

将下载的文件上传到linux中的一个目录,我这里是上传到了mnt目录,因为我的mnt目录是挂载了数据盘的, 我想要尽量保持系统盘不被安装的软件占用太多空间。安装的时候我也会解压到这个目录去安装。

2、检测环境

CentOS是自带mariadb, 和mysql的安装相冲突 , 所以需要提前删除

rpm -qa | grep mariadb //查找
yum remove mariadb-libs-5.5.68-1.el7.aarch64
rpm -qa | grep mariadb //再次查找,验证是否删除

3、解压mysql文件

在mnt创建一个目录,然后将mysql压缩包解压到这个目录。如果用命令创建目录可能还涉及到赋权,我这里直接用sftp手工创建的,默认就是755权限。

mkdir /mnt/mysqlarm5.7.4
cd mnt
tar -xvf mysql-8.0.31-1.el7.aarch64.rpm-bundle.tar -C mysqlarm5.7.4

4、安装

cd mysqlarm5.7.4

由于rpm方式下载对依赖关系有所要求, 所以下载时要严格根据以下顺序安装

rpm -ivh mysql-community-common-8.0.31-1.el7.aarch64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.aarch64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el7.aarch64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el7.aarch64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.aarch64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el7.aarch64.rpm

最后一个安装出现了libaio.so.1()(64bit) 被 mysql-community-server-8.0.31-1.el7.aarch64 需要

执行yum install libaio

然后再次执行rpm -ivh mysql-community-server-8.0.31-1.el7.aarch64.rpm

5、初始化和配置mysql

初始化:mysqld --initialize --user=mysql

启动mysql:service mysqld start

查看初始密码:tail -20 /var/log/mysqld.log

下面红色框的是密码 ,复制密码出来先放到一个文本框比如我的密码是 if5<ukFtRaiL

登录mysql(密码中有特殊字符的,用转义字符表示)

mysql -uroot -p

修改密码

alter user 'root'@'localhost' identified by '密码';

6、测试远程登录

先确保您的服务器所在安全组打开了3306端口,打开方法自行百度。

然后用mysql工具测试远程登录

转到mysql 库

use mysql;

查询当前用户可登录的客户端情况:从mysql 库的user表查询

select user,password from user;

我的提示没有passowrd列 , 因为mysql8.0以上没有这个列。

所以我 select user,authentication_string,host from user;

执行脚本更新root的host字段,记得第二行也要执行,否则不能刷新。

update user set host = '%' where user ='root';
flush privileges;

7、修改mysql所在数据库文件的目录位置

因为我系统盘不大,不想数据库文件存放在系统盘,所以需要改数据库目录。先创建目录

mkdir /mnt/mysql8data

我又偷懒用了sftp手工创建的。

在更改MySQL的数据目录前,必须关闭MySQL服务。

service mysql status
service mysql stop
mysqladmin -u root -p shutdown #停止进程需要输入密码

进入etc目录,查看mysql的cnf配置文件,我的是etc/my.cnf

用命令vim my.cnf 查看编辑,

也可以用sftp工具直接下载下来修改再上传,我用了后者,简单明了。

数据目录在 /var/lib/mysql ,拷贝到 /mnt/mysql8data 。

执行cp命令 cp -a /var/lib/mysql /mnt/mysql8data

修改my.cnf 配置,然后my.cnf文件上传到etc。

#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/mnt/mysql8data/mysql
socket=/mnt/mysql8data/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8
socket=/mnt/mysql8data/mysql/mysql.sock
[mysql]
default-character-set=utf8
socket=/mnt/mysql8data/mysql/mysql.sock

重新启动MySQL服务

systemctl start mysqld.service

验证数据目录是否修改成功

mysql -hlocalhost -uroot -p

输入密码

show variables like '%datadir%';

测试远程连接,我使用的是Navicat工具

参考

https://blog.csdn.net/zjl0409/article/details/121998384

https://blog.csdn.net/Southside3amurai/article/details/128503656

到此这篇关于rpm -ivh方式安装mysql并修改数据存储位置的实现的文章就介绍到这了,更多相关rpm -ivh安装mysql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL数据库分组查询group by语句详解

    MySQL数据库分组查询group by语句详解

    这篇文章主要介绍了MySQL数据库分组查询group by语句详解,文中含有详细示例代码说明解析,有需要的朋友可以借鉴参考想=下,希望能够有所帮助
    2021-09-09
  • mysql分组后如何获取每个组的第一条数据

    mysql分组后如何获取每个组的第一条数据

    这篇文章主要介绍了mysql分组后如何获取每个组的第一条数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 数据库踩坑实战之这行SQL让服务器直接宕机

    数据库踩坑实战之这行SQL让服务器直接宕机

    服务器宕机是指服务器无法正常工作或运行的情况,可能是由于硬件故障、软件错误、电力故障或网络问题等引起的,这篇文章主要介绍了数据库踩坑实战之让服务器直接宕机SQL的相关资料,需要的朋友可以参考下
    2026-02-02
  • 关于mysql delete的问题小结

    关于mysql delete的问题小结

    关于mysql delete的问题,需要的朋友可以参考下。
    2011-05-05
  • 使用JDBC从数据库中查询数据的方法

    使用JDBC从数据库中查询数据的方法

    下面小编就为大家带来一篇使用JDBC从数据库中查询数据的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • MySQL主键批量修改的坑与解决方案

    MySQL主键批量修改的坑与解决方案

    在日常开发中,我们可能会遇到需要批量修改 MySQL 数据表主键的情况,乍一看,修改主键 ID 似乎是一个简单的操作,但如果处理不当,会导致操作失败甚至数据丢失,本文将详细剖析问题成因,并总结多种安全高效的解决方案,需要的朋友可以参考下
    2024-12-12
  • JDBC如何连接mysql

    JDBC如何连接mysql

    这篇文章主要介绍了JDBC如何连接mysql问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 一文带你深入了解并掌握MySQL的DML和DCL

    一文带你深入了解并掌握MySQL的DML和DCL

    在数据库管理中,数据操作语言(DML)和数据控制语言(DCL)是至关重要的概念,DML使我们能够对数据库中的数据进行增加、修改和删除操作,本文将深入探讨这两个关键领域的核心概念和操作方法,帮助您更好地理解和应用数据库管理技术
    2024-02-02
  • 简单了解mysql语句书写和执行顺序

    简单了解mysql语句书写和执行顺序

    这篇文章主要介绍了简单了解mysql语句书写和执行顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 一篇文章看懂SQL中的开窗函数

    一篇文章看懂SQL中的开窗函数

    开窗函数也叫分析函数有两类,一类是聚合开窗函数,一类是排序开窗函数,下面这篇文章主要给大家介绍了关于SQL中开窗函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08

最新评论