通用教程:Centos7.9安装mysql8.0.39(使用rpm 安装)
目录
前言
下载镜像源
删除或查看旧版本
安装mysql
启动mysql
mysql授权远程登录
前言
在本篇博客中,我将向您展示如何在CentOS 7.9系统上通过RPM包安装特定版本的MySQL 8.0.39。这篇博客旨在提供实用的指导,帮助读者学习如何在CentOS或其他Linux发行版上安装特定版本的MySQL。通过遵循本篇博客中提供的详细步骤,您将能够轻松地进行安装,为您的数据管理需求打下坚实的基础。
下载镜像源
Oracle 下载mysql官方网址 进入该链接下载mysql镜像源
https://dev.mysql.com/downloads/mysql/
非常建议!!非常建议!!非常建议!!下载rpm的mysql安装包,这在后来的mysql安装中可以省下不少力气
删除或查看旧版本
查看mysql和glibc的命令
mysql -V
rpm -q glibc
查看现有的mysql已安装的依赖
rpm -qa | grep mysql
删除已安装的mysql依赖
rpm -e --nodeps + 对应的依赖包的名字
查看已运行的mysql和mysqld的进程
grep mysql | grep -v grep
grep mysqld | grep -v grep
杀死已运行的mysql和mysqld的进程
kill -9 + 进程编号
删除mysql安装后生成的包
使用rpm 命令安装mysql是自动完成的,它会自动生成mysql的安装路径及对应的mysql安装路径,因此在安装新版本的mysql时最好将原有生成的mysql安装路径删除掉,避免安装出现冲突。
查看mysql文件的安装路径
find / -name mysql
删除对应的安装路径
rm -rf + 文件路径
安装mysql
解压下载好的mysql安装捆绑包
.tar文件解压
例子:tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
这里是命令参数的详细说明:
-x
:表示解包(extract)操作。-v
:表示详细模式(verbose),它会在解包过程中显示正在处理的文件列表。-f
:表示指定文件名,后面跟着你要解包的.tar.xz
文件的名称。
.gz文件解压
例子:tar -xvzf archive.tar.gz
tar -xvzf archive.tar.gz
强制安装rpm
在解压后的路径中使用rpm安装mysql及捆绑的相关依赖
rpm -ivh *.rpm --nodeps --force
命令解析:
rpm
:命令本身,用于处理 RPM 软件包。-i
:表示安装(install)一个或多个软件包。-v
:表示详细模式(verbose),它会在安装过程中显示更多的信息。-h
:表示显示安装进度的散列(hash),通常显示为一个进度条。*.rpm
:指定要安装的文件,星号*
是一个通配符,表示当前目录下所有以.rpm
结尾的文件。--nodeps
:这个选项用于跳过依赖性检查。--no
是一个否定前缀,deps
表示依赖性。通常,rpm
会检查软件包的依赖性,确保所有必需的依赖都已安装。使用--nodeps
会忽略这些检查,这可能会带来风险,因为缺少依赖可能导致软件包不能正常工作。--force
:这个选项用于强制安装软件包,即使某些条件不满足(例如,如果软件包已经安装或存在冲突)也会继续安装。
查找myql命令
whereis mysql
whereis mysql
可以看到,
- MySQL的安装路径为
/usr/bin/mysql
, - 其配套的mysqlclient库头文件位于
/usr/include/mysql
, - 库文件位于
/user/lib64/mysql
。
目录
chown -R mysql:mysql /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql/
综上所述,命令 chown -R mysql:mysql /var/lib/mysql/
的作用是将 /var/lib/mysql/
目录及其所有子目录和文件的所有者和所属组递归地更改为 mysql
用户和 mysql
组。这通常在安装或配置 MySQL 数据库时执行,确保 MySQL 服务有适当的权限来访问其数据目录。
一定要先给目录权限才能启动数据库文件不然会报错
[root@localhost ~]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
启动mysql
初始化数据库(建议到用户目录下 ~)
mysqld --initialize --console
mysqld --initialize --console
启动mysql
systemctl start mysqld
systemctl status mysqld
获取随机的root密码
MySQL安装后,会给root一个随机密码,可以通过命令获取。
cat /var/log/mysqld.log
cat /var/log/mysqld.log
修改root密码为123456
使用 mysql -u root -p 命令输入给出的随机root密码进行登录,
然后使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' 将root密码修改为123456。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'
mysql授权远程登录
进入mysql命令行下,依次输入下面的命令,注意每输入完一条mysql命令都要在末尾加 ;号
SHOW databases;
USE mysql;
UPDATE user SET host = "%" WHERE user='root';
SELECT host, user, authentication_string, plugin FROM user;
FLUSH privileges;
SHOW databases;
USE mysql;
UPDATE user SET host = "%" WHERE user='root';
SELECT host, user, authentication_string, plugin FROM user;
FLUSH privileges;
这个 SQL 语句用于获取 user
表中所有记录的 host
、user
、authentication_string
和 plugin
字段的值。这通常用于查看数据库用户的账号信息,包括他们的密码和认证插件。
使用Navicat测试远程连接情况,需要先关闭Centos的防火墙