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
最后等待安装完毕即可
2.yum离线安装包安装
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.报错
b.执行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
报错了
这个看得出来大概意思时缺少perl
和net-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安装完毕
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/*
4、为mysql提供主配置文件
[root@localhost local] cd /usr/local/mysql
[root@localhost mysql] \cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf
# 添加如下行指定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依赖。