此文参考了这位同学的文章,原文链接:Linux下安装mysql8.0(以rpm包安装)_mysql 8 rpm安装-CSDN博客
发现有些问题,并且数据库版本不一样,现在分享我参考他的文章所出现的问题再次发布:
1、查操作系统信息
cat /proc/version
查看操作系统信息,我的系统版本是el7 即liunx/centos 7系列。
2、下载mysql 8.0.34的rpm包
下载地址:MySQL :: Download MySQL Community Server
下载时,要注意自己系统的版本,我的Linux版本是el7,要下载对应的版本,且文件后缀为.rpm
此时会弹出下载链接,选择要下载到的路径,开始下载
3、从Windows将安装包导入Linux
下载winscp软件,此软件可以作为ftp工具将安装包导入Linux
输入Linux的ip地址root用户名和密码
我自己在home下面创建了mysql文件夹
4、解包安装包
tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar
5、安装前要卸载linux自带的数据库
一般在安装完liunx时系统会默认自带一个mariadb的数据库,需要先把其卸载才能安装成功。mariadb数据库是mysql数据库的一个分支,商用要钱。所以不建议用它。
要完全卸载MariaDB数据库,可以按照以下步骤操作。确保你备份了所有重要的数据,因为这些操作会删除所有的数据库和配置文件。
-
停止MariaDB服务:
systemctl stop mariadb
-
卸载MariaDB相关软件包:
列出所有安装的MariaDB软件包:
rpm -qa | grep mariadb
然后卸载这些软件包。例如:
yum remove mariadb mariadb-server mariadb-libs mariadb-devel
-
删除残留的MariaDB数据和配置文件:
rm -rf /var/lib/mysql rm -rf /etc/my.cnf rm -rf /etc/my.cnf.d rm -rf /var/log/mariadb
这些命令会删除所有的数据库文件、配置文件和日志文件。请务必谨慎操作,确保没有重要数据未备份。
-
清理yum缓存:
yum clean all
执行完上述步骤后,MariaDB应该被完全卸载。你可以通过以下命令确认:
rpm -qa | grep mariadb
如果没有输出,说明MariaDB已经成功卸载。
然后,你可以按照下面的步骤安装MySQL客户端。
6、开始安装mysql新数据库(最好按以下顺序安装,否则依赖包会检测错误)
6.1先安装全局的依赖mysql-community-common
rpm -ivh mysql-community-common-8.0.37-1.el7.x86_64.rpm
6.2安装mysql-community-icu-data-files
rpm -ivh mysql-community-icu-data-files-8.0.37-1.el7.x86_64.rpm
6.3安装mysql-community-client-plugins
rpm -ivh mysql-community-client-plugins-8.0.37-1.el7.x86_64.rpm
6.4安装mysql-community-libs
rpm -ivh mysql-community-libs-8.0.37-1.el7.x86_64.rpm
6.5安装mysql-community-client
rpm -ivh mysql-community-client-8.0.37-1.el7.x86_64.rpm
然而我再这一步出现了问题,卡了很久,报错如下:
[root@localhost mysql]# rpm -ivh mysql-community-server-8.0.37-1.el7.x86_64.rpm warning: mysql-community-server-8.0.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY error: Failed dependencies: mysql-community-client(x86-64) >= 8.0.11 is needed by mysql-community-server-8.0.37-1.el7.x86_64
6.5.1 先解决NOKEY的问题:
用下面两个命令,应该是2023那条成功了的,都试试
[root@localhost mysql]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 [root@localhost mysql]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
问题先复盘:我是先解决了KEY的问题就继续第7步,但是发现mysql服务能跑起来,用不了
mysql -u root -p命令进入数据库操作界面,所以才继续解决6.5.2的客户端问题。
6.5.2解决Failed dependencies的问题,用GPT4.0查过,是MySQL客户端没安装好
解决办法:当前的yum仓库中没有提供你需要的MySQL客户端工具。可以尝试以下步骤,通过添加MySQL官方仓库来解决这个问题:
-
添加MySQL官方仓库:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
-
清理并更新yum缓存:
yum clean all yum makecache
-
安装MySQL客户端:
yum install mysql-community-client
完成上述步骤后,继续下面。
6.6安装mysql-community-server
rpm -ivh mysql-community-server-8.0.37-1.el7.x86_64.rpm --nodeps --force
7、启动mysql数据库
systemctl start mysqld
8、查看启动进程
ps -ef | grep mysql
9、查找初始密码
grep 'temporary password' /var/log/mysqld.log
注:初始密码在密码修改以后就会失效.
10、修改初始密码
使用命令登录数据库,输入初始密码(输入不显示)——使用SSH连接虚拟机的可以鼠标选中临时密码然后右键粘贴进去,防止输错密码
mysql -u root -p
在数据库登录状态下修改密码命令(密码必须为至8位数的大小写+数字+符号)
alter user 'root'@'localhost' identified by 'Admin123!';
11、登录数据库测试新密码
mysql -u root -p -u指定用户,-P指定密码,这里最好不指定,否则使用history可以看到密码,不安全
这里隐藏了-h 指定地址,默认使用127.0.0.1的本机地址进行登录,如果要远程连接MySQL的话这里需要指定服务器的地址 输入修改后的密码:Admin123!