Redhat8.2安装MySQL5.7(yum在线/rpm离线/二进制)

7 篇文章 0 订阅

1.yum在线安装


1.换源,用Centos-8.repo(点击进去可直接下载文件)替换掉/etc/yum.repos.d/redhat.repo这个文件

yum clean all  # 清理yum缓存,使设置生效
yum makecache  # 将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度

yum repolist  #显示所有仓库

最后会变成这个样子
在这里插入图片描述


2.创建文件夹/soft用来存放安装源
cd /soft/

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum install -y mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

如果最后一步yum -y install mysql-community-server报错,请看下面

[root@localhost soft] yum -y install mysql-community-server
Repository epel is listed more than once in the configuration
上次元数据过期检查:0:26:30 前,执行于 2020年08月14日 星期五 15时12分25秒。
All matches were filtered out by modular filtering for argument: mysql-community-server
错误:没有任何匹配: mysql-community-server
=================================================================================
!!!!解决方法!!!!
先执行:yum module disable mysql
再执行:yum install mysql-community-server

最后等待安装完毕即可


3.登录修改密码

mysql -u root -p   登录,输入之前记录的随机密码
========进入MySQL终端:
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

如果报错,说明密码太短,MySQL没有认证成功,可以修改认证规则:
set global validate_password_policy=0;
set global validate_password_length=1;
再次修改就OK了

如果不记得随机密码了可以用下面方法查看,如果查看不到,大概率是没初始化成功,建议重装

默认有个随机密码:
more /var/log/mysql.log
也可以使用grep命令查询密码:
grep 'temporary password' /var/log/mysqld.log

2.rpm离线安装包安装

https://dev.mysql.com/downloads/mysql/
解压查看:(注意包名)
tar xf mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar
其中:

mysql-community-client 客户端
mysql-community-devel 开发库
mysql-community-common 服务端和客户端的公共文件
mysql-community-embedded 嵌入式
mysql-community-serve 服务端
mysql-community-test 测试组件
mysql-community-libs 共享库
mysql-community-libs-compat MySQL之前版本的共享兼容库

安装:
首先限制mariadb相关软件包,否则安装不会成功的。

yum remove mariadb-libs

安装顺序总结:
a.rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
b.rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
c.rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
d.rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm(可能会因为缺少依赖包报错)

1.rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
a.报错
dnf install ncurses-compat-libsb.执行dnf install ncurses-compat-libs,错误解决了两个,但是依旧报错
在这里插入图片描述c.显示缺少libs,那就先安装mysql-community-libs-5.7.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm

在这里插入图片描述
d.依旧报错,显示缺少mysql-community-common-5.7.30-1.el7.x86_64.rpm,那就安它

1/4:rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm

成功了,接下来就反着推,一步步安装
在这里插入图片描述
2/4rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm成功

在这里插入图片描述3/4rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm 成功
在这里插入图片描述4/4rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm报错了

在这里插入图片描述这个看得出来大概意思时缺少perlnet-tools这两个
(1/2 先安装perl看看
yum -y install perl.x86_64
在这里插入图片描述问题解决了一个
(2/2安装net-tools

在这里插入图片描述OK,问题解决,安装完成

之后就启动数据库

=============启动数据库
[root@localhost soft] systemctl start mysqld
[root@localhost soft] systemctl enable mysqld  
=============检查服务有无开启
[root@localhost soft] systemctl is-active mysqld.service
active   #开启
[root@localhost soft] systemctl is-enable mysqld
Unknown operation is-enable.

查找初始随机密码grep 'temporary password' /var/log/mysqld.log
在这里插入图片描述OK,至此rpm离线安装MySQL5.7.30.1安装完毕


2.登录修改密码

mysql -u root -p   登录,输入之前记录的随机密码
========进入MySQL终端:
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

如果报错,说明密码太短,MySQL没有认证成功,可以修改认证规则:
set global validate_password_policy=0;
set global validate_password_length=1;
再次修改就OK了

如果不记得随机密码了可以用下面方法查看,如果查看不到,大概率是没初始化成功,建议重装

默认有个随机密码:
more /var/log/mysql.log
也可以使用grep命令查询密码:
grep 'temporary password' /var/log/mysqld.log

3. 通用二进制方式安装

1、下载glibc版本的Mysql:https://downloads.mysql.com/archives/community/
选择Linux - Generic,之后选择需要的版本即可
在这里插入图片描述
2、新建用户以安全方式运行进程

groupadd -r -g 306 mysql
useradd -g 306 -r -u 306 mysql

3、安装并初始化mysq
利用xfpt将文件传输到/usr/local/

[root@localhost ~] cd /usr/local/
[root@localhost local] tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
[root@localhost local] ln -sv mysql-5.7.14-linux-glibc2.5-x86_64 mysql  #创建软连接,方便之后操作
"mysql" -> "mysql-5.7.14-linux-glibc2.5-x86_64"
[root@localhost local] chown -R mysql.mysql mysql/*

初始化,一定要注意初始密码

====!!!注意初始密码
初始化命令:
mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
====注意记录临时密码
[Note] A temporary password is generated for root@localhost: Di23xhiKVt-W

4、为mysql提供主配置文件

[root@localhost local] cd /usr/local/mysql
[root@localhost mysql] \cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql] vim /etc/my.cnf
添加如下行指定mysql数据文件的存放位置:
[root@localhost mysql] datadir = /usr/local/mysql/data

5、为mysql提供sysv服务脚本

[root@localhost mysql] cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql] chmod +x /etc/rc.d/init.d/mysqld

6、启动mysql

chkconfig --add mysqld --添加为系统服务
chkconfig mysqld on --开机自启动
systemctl start mysqld

7、将mysql的bin目录加入PATH环境变量,编辑/etc/profile文件

# 添加前
[root@localhost mysql]# mysql
-bash: mysql: 未找到命令
## 由于PATH环境变量中没有添加,因此有两种方式:
## 一种是用绝对路径,如下:
/usr/local/mysql/bin/mysql
======================================================================================
!!!!!!!用这种更好!!!!!!
第一种用起来比较麻烦,我们下面用第二种添加到PATH
cd /etc/profile.d/
vim mysql.sh

• 添加如下内容
export PATH=$PATH:/usr/local/mysql/bin
之后
source mysql.sh

安装完成
接下来进入数据库时可能出现如下报错(找不到libncurses.so.5)

[root@localhost ~]   mysql -u root -p 
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

解决方法

原因:mysql在启动时发现缺少 libncurses.so.5 这个依赖,并且在/usr/lib以及/lib中也无法找到该依赖

解决:在/usr/lib、/lib、/usr/lib64中寻找一个大于或者等于该依赖版本的依赖文件,我的是在/usr/lin64中找到了一个libncurses.so.6.1,然后建立一个软链接(相当于快捷方式):
sudo ln -s 文件路径 快捷方式路径
sudo ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
这样就在/usr/lib64下建立了一个libncurses.so.5的快捷方式。mysql在启动时就会寻找该libncurses.so.5依赖的快捷方式,最后实际链接到了libncurses.so.6.1依赖。

8.登录修改密码

mysql -u root -p   登录,输入之前记录的随机密码
========进入MySQL终端:
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

如果报错,说明密码太短,MySQL没有认证成功,可以修改认证规则:
set global validate_password_policy=0;
set global validate_password_length=1;
再次修改就OK了

如果不记得随机密码了可以用下面方法查看,如果查看不到,大概率是没初始化成功,建议重装

默认有个随机密码:
more /var/log/mysql.log
也可以使用grep命令查询密码:
grep 'temporary password' /var/log/mysqld.log
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值