当前位置: 首页 > news >正文

Linux操作系统安装MySQL(rpm安装)

Linux操作系统安装MySQL(rpm安装)

  • 1 背景
  • 2 环境说明
  • 3 准备工作
    • 3.1 端口查看
    • 3.2 检查安装
    • 3.3 创建MySQL用户和组
  • 4 MySQL安装
    • 4.1 下载MySQL
    • 4.2 解压安装包
    • 4.3 安装MySQL
    • 4.4 初始化MySQL
    • 4.5 启动MySQL
    • 4.6 设置MySQL初始密码
      • 4.6.1 查看数据库初始密码
      • 4.6.2 更数据库密码
      • 4.6.3 设置数据库编码
    • 4.7 登录数据库

1 背景

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

2 环境说明

软件项目版本备注
操作系统CentOS Linux release 7.6.1810 (Core)服务器操作系统
MySQLMySQL Community Server 5.7.39数据库软件

3 准备工作

3.1 端口查看

安装之前查看端口,mysql默认使用的3306端口,如果3306端口已经占用启动过程中可能会报错,针对端口占用情况,可以停止占用端口的服务或者将mysql改用其他端口启动,停用和更改端口方法不再本文介绍。参考《Centos7防火墙设置》
查看端口

netstat -nltp | grep 3306

开具端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

3.2 检查安装

查看是否已安装mysql或者mariadb,如果安装卸载

rpm -qa| grep mysql
rpm -qa| grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64

Red Hat Enterprise/CentOS/Fedora/Debian 发行版默认会安装 MariaDB,MariaDB和MySQL数据库不兼容,如果需要安装MySQL数据库需要卸载MariaDB数据库。
卸载已安装得数据库

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

3.3 创建MySQL用户和组

groupadd mysql
useradd -r -g mysql mysql

4 MySQL安装

linux 系统安装MySQL数据库,有四种方式其中分别为:

  • rpm安装:简单方便,不易出错
  • 源码安装:繁琐,服务性能好,定制性高
  • yun安装:简单便捷,易于安装,设置yum源,便于安装
  • docker安装:快速、方便,有一定门槛,需要熟悉安装docker,参考《docker环境下部署mysql》
    其中源码安装、yum安装和docker安装依赖互联网接入,rpm可以离线安装,本篇以rpm安装为例进行安装

4.1 下载MySQL

官网下载mysql
在这里插入图片描述
在线下载

cd /tmp
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar

4.2 解压安装包

解压下载的安装包

tar -xvf mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar

4.3 安装MySQL

注意安装顺序,安装顺应异常可能会出现依赖关系报错

rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm

4.4 初始化MySQL

使用mysql用户初始化MySQL数据库

mysqld --initialize --user=mysql

4.5 启动MySQL

启动MySQL服务

systemctl start mysqld.service

查看MySQL服务

systemctl status mysqld.service

4.6 设置MySQL初始密码

4.6.1 查看数据库初始密码

grep "password" /var/log/mysqld.log
2023-02-22T16:35:45.656262Z 1 [Note] A temporary password is generated for root@localhost: s%gkpu3yU7wY

4.6.2 更数据库密码

1、登录账号

mysql -u root -p s%gkpu3yU7wY

2、重置密码

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'toor';

3、设置远程登录权限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'toor' WITH GRANT OPTION;mysql>FLUSH PRIVILEGES;

4.6.3 设置数据库编码

服务器上新装的MySQL默认编码格式对中文支持不太友好,导致无法正常显示中文,因此需要重设默认编码。
1、查看数据库编码
登录数据库查看编码

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.39, for Linux (x86_64) using  EditLine wrapperConnection id:		2
Current database:	
Current user:		root@localhost
SSL:				Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.40
Protocol version:	10
Connection:			Localhost via UNIX socket
Server characterset:latin1
Db     characterset:latin1
Client characterset:utf8
Conn.  characterset:utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:				5 min 5 secThreads: 1  Questions: 8  Slow queries: 0  Opens: 113  Flush tables: 1  Open tables: 106  Queries per second avg: 0.026
--------------

2、修改编码

vi /etc/my.cnf

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

3、重启数据库

systemctl restart mysqld.service

4、验证编码

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.39, for Linux (x86_64) using  EditLine wrapperConnection id:		2
Current database:	
Current user:		root@localhost
SSL:				Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.40
Protocol version:	10
Connection:			Localhost via UNIX socket
Server characterset:utf8
Db     characterset:utf8
Client characterset:utf8
Conn.  characterset:utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:				5 min 5 secThreads: 1  Questions: 8  Slow queries: 0  Opens: 113  Flush tables: 1  Open tables: 106  Queries per second avg: 0.026
--------------

4.7 登录数据库

1、命令行登录数据库

mysql -u root -p

2、第三方工具登录

在这里插入图片描述
登录后截图
在这里插入图片描述

相关文章:

Linux操作系统安装MySQL(rpm安装)

Linux操作系统安装MySQL(rpm安装)1 背景2 环境说明3 准备工作3.1 端口查看3.2 检查安装3.3 创建MySQL用户和组4 MySQL安装4.1 下载MySQL4.2 解压安装包4.3 安装MySQL4.4 初始化MySQL4.5 启动MySQL4.6 设置MySQL初始密码4.6.1 查看数据库初始密码4.6.2 更…...

MySQL高级第二讲

目录 二、MySQL高级02 2.1 触发器 2.1.1 触发器介绍 2.1.2 创建触发器 2.2 MySQL的体系结构 2.3 存储引擎 2.3.1 存储引擎概述 2.3.2 各种存储引擎特性 2.3.3 InnoDB 2.3.4 MyISAM 2.3.5 MEMORY 2.3.6 MERGE 2.3.7 存储引擎的选择 2.4 优化sql 2.4.1 查看sql执行…...

凸优化专题1

多变量函数的求导与求梯度/矩阵求导 1. 导数 定义: 设f:Rn→Rm,且x∈intdomf,则f在点x的导数(或称Jacobian)记为矩阵Df(x)∈Rmnf:\R^n \rightarrow \R^m, 且x\in \mathbf{int}\ \mathbf{dom} f, 则f 在点x的导\\数(或称Jacobian)记为矩阵 Df(x) \in \R^{m\times n}f:Rn→Rm,且…...

【蓝桥杯每日一题】递推算法

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙我与杀戮之中绽放,亦如黎明的花…...

Unity性能优化: 性能优化之内存篇

前言 本文和传统的内存优化不一样,不是讲如何降低内存占用,而是讲编程开发中要注意的内存问题以及一些内存技术的演变与原理。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀 1: Application进程…...

华为OD机试题,用 Java 解【内存资源分配】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…...

微服务之Nacos注册与配置

🏠个人主页:阿杰的博客 💪个人简介:大家好,我是阿杰,一个正在努力让自己变得更好的男人👨 目前状况🎉:24届毕业生,奋斗在找实习的路上🌟 &#x1…...

Android 动画详解

Android动画的分类与使用学习Android必不可少的就是动画的使用了,在Android版本迭代的过程中,出现了很多动画框架,这里做一个总结。Android动画类型分类逐帧动画【Frame Animation】,即顺序播放事先准备的图片。补间动画【Tween A…...

Linux -- 程序 进程 线程 概念引入

程序与进程 :程序 :什么是程序 ???伪官方 : 二进制文件,文件存储在磁盘中,例如 /usr/bin 目录下 。 是静态。 简单讲 :# 我们都学习了语言,比如下面这串代…...

Android ART dex2oat

一、什么是dex2oat Dex2oat (dalvik excutable file to optimized art file) ,是一个对 dex 文件进行编译优化的程序,在我们的 Android 手机中的位置是 /system/bin/dex2oat,对应的源码路径为 android/art/dex2oat/dex2oat.cc,通…...

「RISC-V Arch」RISC-V 规范结构

日期:20230228 规范分类 根据 RISC-V 设计哲学,其规范文档也是高度模块化的: ISA 规范(2 篇) 非特权规范特权规范 非 ISA 规范(6篇) Trace规范ABI 规范外部调试规范PLIC 规范SBI 规范UEFI 协…...

【C】线程控制

创建线程 #include <pthread.h>int pthread_create(pthread_t * thread,const pthread_attr_t * attr,void *(*start_routine)(void*), void * arg);返回值&#xff1a;成功返回0&#xff0c;失败返回错误号。 thread&#xff1a;成功返回后&#xff0c;新创建的线程的…...

Maven工程打jar包的N种方式

Maven工程打jar包 一、IDEA自带打包插件二、maven插件打包2.1 制作瘦包&#xff08;直接打包&#xff0c;不打包依赖包&#xff09;2.2 制作瘦包和依赖包&#xff08;相互分离&#xff09;2.3 制作胖包&#xff08;项目依赖包和项目打为一个包&#xff09;2.4 制作胖包&#xf…...

一文了解GPU并行计算CUDA

了解GPU并行计算CUDA一、CUDA和GPU简介二、GPU工作原理与结构2.1、基础GPU架构2.2、GPU编程模型2.3、软件和硬件的对应关系三、GPU应用领域四、GPUCPU异构计算五、MPI与CUDA的区别一、CUDA和GPU简介 CUDA&#xff08;Compute Unified Device Architecture&#xff09;&#xf…...

全网资料最全Java数据结构与算法(1)

一、数据结构和算法概述 1.1什么是数据结构&#xff1f; 官方解释&#xff1a; 数据结构是一门研究非数值计算的程序设计问题中的操作对象&#xff0c;以及他们之间的关系和操作等相关问题的学科。 大白话&#xff1a; 数据结构就是把数据元素按照一定的关系组织起来的集合&a…...

【项目实战】SpringMVC拦截器HandlerInterceptor入门介绍

一、拦截器介绍 拦截器是应用程序级框架中常用的拦截用户请求、实施业务流程控制的模式,它可以将一些公共的、重复发生的业务逻辑从业务处理代码中独立出来,使系统的结构更加清晰,程序的复杂度也减小了。 拦截器是一个常见的特性,它可以实现任何自定义功能,而无需调整业…...

阿里淘宝新势力造型合伙人P8、年薪百万的欧阳娜娜也躲不过的魔鬼面试,看的我心服口服

阿里淘宝新势力造型合伙人P8、年薪百万的欧阳娜娜跳槽了&#xff0c;这不是关键。 她参加了网易有道明星语音录音员/代言人的面试&#xff0c;这也不是关键。 关键是她教科书式的面试过程&#xff0c;狠狠地给我们上了一课。 我是无意间刷到的这个视频的时候&#xff0c;就一…...

深度学习笔记:不同的反向传播迭代方法

1 随机梯度下降法SGD 随机梯度下降法每次迭代取梯度下降最大的方向更新。这一方法实现简单&#xff0c;但是在很多函数中&#xff0c;梯度下降的方向不一定指向函数最低点&#xff0c;这使得梯度下降呈现“之”字形&#xff0c;其效率较低 class SGD:"""随机…...

ElasticSearch 学习笔记总结(三)

文章目录一、ES 相关名词 专业介绍二、ES 系统架构三、ES 创建分片副本 和 elasticsearch-head插件四、ES 故障转移五、ES 应对故障六、ES 路由计算 和 分片控制七、ES集群 数据写流程八、ES集群 数据读流程九、ES集群 更新流程 和 批量操作十、ES 相关重要 概念 和 名词十一、…...

深入理解border以及应用

深入border属性以及应用&#x1f44f;&#x1f44f; border这个属性在开发过程中很常用&#xff0c;常常用它来作为边界的。但是大家真的了解border吗&#xff1f;以及它的形状是什么样子的。 我们先来看这样一段代码&#xff1a;&#x1f44f; <!--* Author: syk 185901…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...