文章目录
Linux下安装mysql
在线安装
使用rpm与yum进行在线安装,为什么不直接使用yum安装?下文会做出解答
如对下文yum,rpm,gpgcheck 有疑惑请先阅读:Linux YUM详细教程
mysql rpm包下载地址
#选择以下任意地址选择所需版本mysql进行下载
地址1:https://dev.mysql.com/downloads/repo/yum/
地址2:http://repo.mysql.com
mysql rpm包名称含义
以mysql80-community-release-el7-9.noarch为例子
mysql80-community-release-el7-9.noarch 是一个 RPM 软件包的命名约定。这里的含义是:
mysql80-community-release-el7-9: 这部分指定了软件包的名称,其中 mysql80 表示与 MySQL 8.0 版本相关,community-release 表示这是一个社区发布的软件包,el7 表示适用于基于 Enterprise Linux 7 的系统,后面的 -9 则表示软件包的版本号。
.noarch: 这部分表示该软件包是一个“无架构”(No Architecture)的通用软件包,不依赖于特定的硬件架构,可以在任何支持的平台上运行。
服务器清理mysql历史包
# 查看是否有历史mysql
rpm -qa | grep mysql
# 删除历史rpm包
rpm -e 查询出来的包名
#再次查看
rpm -qa | grep mysql
mysql rpm包下载与安装
此处rpm包的作用是将 MySQL 的官方 YUM 存储库添加到系统中。这个 RPM 包实际上只是用来配置mysql官方yum源的。
# 下载mysql的rpm包
wget http://repo.mysql.com/mysql80-community-release-el7-6.noarch.rpm
记录未安装msqyl rpm包时的yum源文件
# 安装mysql rpm包
yum localinstall mysql80-community-release-el7-6.noarch.rpm
查看安装完mysql rpm包后yum源文件变化发现多了 mysql自己的yum源
rpm与yum结合安装的作用
mysql可以使用系统默认的 YUM 源安装软件包,但在某些情况下,特定软件的官方存储库可能提供了更新的版本或定制配置。所以最好使用mysql官方源进行mysql下载。安装 mysql80-community-release-el7-6.noarch.rpm的目的其实就是安装了mysql官方的yum源,这时候使用yum 进行 mysql的安装,系统会优先从mysql官方源头进行mysql安装。
mysql-server的安装
mysql-server(MySQL服务端)包含了数据库服务本身以及相关的管理工具。
mysql-client (MySQL客户端)客户端组件是用于与数据库进行通信的必要工具(就是如果不安装,你本机无法用命令链接mysql执行sql语句)。
安装mysql-server同时也会安装mysql-clinet
#安装mysql服务
yum -y install mysql-community-server
当出现gpg密钥验证失败时候
解决方式1
#跳过验证
yum -y install mysql-community-server --nogpgcheck
或者修改yum源 mysql-community.repo gpgcheck=1改为0 本质也是跳过验证
解决方式2
注意这里使用的密钥内容是RPM-GPG-KEY-mysql-2023,而不是提示中的RPM-GPG-KEY-mysql-2022,使用2022提示密钥无效
由报错可知检查的密钥为/etc/pki/rpm-gpg下的RPM-GPG-KEY-mysql-2022文件
去yum源下载密钥,放入路径里,或直接粘贴其内容复制到RPM-GPG-KEY-mysql-2022中(下载2023的文件内容,用2022的内容验证无效),
安装成功
启动mysql服务
系统服务不理解请参考:Linux自定义系统服务
#查看服务状态 dead为非运行
systemctl status mysqld.service
#启动mysql服务
systemctl start mysqld.service
#设置mysql开机自启
systemctl enable mysqld.service
#查看mysql版本
mysql -V
获取mysql密码
#获取初始密码
sudo grep 'temporary password' /var/log/mysqld.log
#进入mysql
mysql -u root -p'5!BQ2Z%0yfOd' (密码换成自己的)
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'BLHDldsx@04858'; (密码需要复杂一些)
远程连接权限设置
远程链接是可以让别的机器访问这台服务器的mysql,后面用Navicat,DBeaver等工具链接mysql就需要先配置远程用户
#创建用户
CREATE USER 'ldsx'@'%' IDENTIFIED BY 'BLHDldsx@071';
#给用户赋权任意ip访问
GRANT ALL PRIVILEGES ON *.* To 'ldsx'@'%';
#权限刷新生效
FLUSH PRIVILEGES;
#检验是否成功 再本机执行 -h 远程链接 后面跟本机ip,也可以选一台有mysql客户端的机器实验
mysql -h 192.168.0.76 -u ldsx -p'BLHDldsx@071'
使用别的机器远程链接(需要安装mysql客户端)
卸载mysql
#停止服务器
sudo systemctl stop mysql.service
#取消开机自启
sudo systemctl disable mysql.service
#卸载mysql
sudo yum remove mysql-server
#删除mysql残留数据及配置
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
#删除残存文件 考虑使用因为用了通配符如果你自己创建的文件也会被干掉,可以考虑 根目录替换成指定目录清理
sudo find / -name "mysql*" -exec rm -rf {} ;
卸载完成