Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > rpm -ivh安装mysql

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

作者:吹牛不交税

在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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文