MySQL介绍和安装与配置

news2024/9/29 15:35:48

文章目录

  • MySQL介绍
    • 什么是数据库
    • 什么是关系型数据库
    • 什么是非关系型数据库
    • MySQL概述和历史
  • MySQL安装和配置
    • 在线安装方式
      • MySQL5.7的安裝
        • 1.下载yum Repository
        • 2.安装yum Repository
        • 3.安装mysql5.7的服务
        • 3.后续命令
    • 离线安装方式
      • 1、卸载已有的MySQL文件
      • 2、安装mysql
      • 3、后续命令
    • 修改字符集

MySQL介绍

什么是数据库

  • 数据库是数据的仓库
  • 与普通的数据仓库不同的是,数据库依据数据结构来组织数据,因为数据结构的存在,所以看到的数据是条理化的
  • 数据库和普通文件系统的区别在与:数据库拥有数据结构,能都快速查找对应的数据
  • 常说的MySQL数据库,其实就是MySQL数据库管理系统:数据库管理系统是一个软件,是数据库服务的体现
  • 根据数据结构的不同,数据库分为关系型数据库非关系型数据库

什么是关系型数据库

  • 关系型数据库是依据关系模型创建数据库
  • 关系模型就是一对一,一对多,多对多等关系模型,关系模型就是存储格式是以行列组成二维表格,所以一个关系型数据库就是由二维表之间的联系所组成的一个数据组织
  • 关系型数据库可以很好的存储一些关系模型的数据,比如老师对应学生的数据(“多对多”),一本书对应多个作者(“一对多”),一个人对应一个身份证号码(“一对一”)

什么是非关系型数据库

  • 由于关系型太大和复杂,所以一般使用“非关系型数据”来表示其他类型的数据库
  • 非关系型的模型比如:
    • 列模型:存储的数据是一列一列,关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录
    • 键值对模型:存储的数据是一个个键值对,比如name:lisi
    • 文档类模型:以一个个文档来存储数据,类似于键值对

MySQL概述和历史

  • MySQL是一种开源关系型数据库管理系统,最初由瑞典MySQL AB公司的Michael Widenius和David Axmark于1995年创建。MySQL以其速度、可靠性、灵活性和易用性而闻名,并广泛用于Web应用程序开发和其他需要高度可靠数据管理的应用程序中。

  • 在2008年,MySQL AB被Sun Microsystems收购,随后在2010年被Oracle Corporation收购。在Oracle的管理下,MySQL仍然保持着活跃的开发和广泛的用户群体。MySQL现在是最受欢迎的开源数据库之一,被广泛应用于Web开发、企业应用和其他各种应用程序中。

  • MySQL支持多种操作系统,包括Windows、Linux、Unix和macOS等,同时也支持多种编程语言,如C、C++、Java、Perl、Python和PHP等。MySQL的架构被设计成可扩展性和可定制化,允许开发人员根据自己的需求进行定制和扩展。此外,MySQL还支持多种存储引擎,允许开发人员选择最适合其应用程序需求的引擎。

MySQL安装和配置

  • 基于在工作中MySQl在Linux的操作系统下的使用是最多的,所以本文介绍的是在Linux的操作系统下安装MySQl
  • 本文提供两种安装方式,一种是在线安装另一种是离线安装
  • 在线安装可能会因为有些时候mysql的网页不允许访问,从而下载失败,建议可以直接离线下载。
    • 通过下面链接自行获取后续配置需要用到的数据
      链接: https://pan.baidu.com/s/1KxpbPMje4Z0YDSDKl_z-9g 提取码: 1822

在线安装方式

MySQL5.7的安裝

1.下载yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
或者下面的这个命令
wget http://repo.mysql.com/mysql-community-release-el7-10.noarch.rpm
2.安装yum Repository
yum -y install mysql57-community-release-el7-10.noarch.rpm
3.安装mysql5.7的服务
yum -y install mysql-community-server

如果出现下面的报错:
在这里插入图片描述

原因是:Mysql的GPG升级了,需要重新获取
使用以下命令即可

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

在将安装服务的命令重新执行一遍

3.后续命令

1.开机自启动

systemctl enable mysqld.service

2.启动mysql

systemctl start mysqld.service

3.查看状态

systemctl status mysqld.service

4.获取临时密码

grep "password" /var/log/mysqld.log

5.登录mysql

mysql -uroot -p 

6.关闭密码复杂验证

set global validate_password_policy=0;
set global validate_password_length=1;

7.设置密码

alter user user() identified by "123456";

8.修改权限

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  --修改权限

flush privileges;  --刷新权限

select host,user,authentication_string from user; --查看权限

9.卸载yum Repository

因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

yum -y remove mysql57-community-release-el7-10.noarch

注意:如果安装的过程出现了错误,需要卸载mysql的方法

卸载mysql
删除依赖包

rpm -qa |grep -i mysql

yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common

在这里插入图片描述
清理文件

find / -name mysql
rm -rf 文件名

离线安装方式

1、卸载已有的MySQL文件

rpm -qa|grep mysql
rpm -qa|grep MySQL
rpm -qa|grep mariadb

卸载查询到的包

rpm -e --nodeps xxx

因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

yum -y remove mysql57-community-release-el7-10.noarch

注意:如果安装的过程出现了错误,需要卸载mysql的方法

卸载mysql
删除依赖包

rpm -qa |grep -i mysql

yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common

清理文件

find / -name mysql
rm -rf 文件名

2、安装mysql

将rpm文件放入linux中(rpm文件在上面的链接里,自行提取)

然后使用rpm文件包

MySQL服务端的安装包为server,安装的顺序为:common -> libs -> client -> server

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

如果安装server出错

先安装其依赖包在安装server服务

yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

3、后续命令

开机自启动

systemctl enable mysqld.service

启动mysql

systemctl start mysqld.service

查看状态

systemctl status mysqld.service

获取临时密码

grep "password" /var/log/mysqld.log

登录mysql

mysql -uroot -p 

关闭密码复杂验证

set global validate_password_policy=0;
set global validate_password_length=1;

设置密码

alter user user() identified by "123456";

修改权限

use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  --修改权限
flush privileges;  --刷新权限
select host,user,authentication_string from user; --查看权限
exit; -- 退出mysql

修改字符集

在这里插入图片描述

show variables like "%character%";

vim /etc/my.cnf
# 将下面的内容像上面图片中一样复制进去
[mysqld]
character-set-server=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8


# linux中运行
# service mysqld restart
systemctl restart mysqld

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详细分析Python生成项目依赖包的工具

目录 前言1. pipreqs2. pip freeze3. poetry4. conda5. 总结 前言 在Python项目开发中,管理依赖包是确保项目正常运行的关键步骤 本博客将详细分析几种流行的依赖管理工具,包括 pipreqs、pip freeze、poetry 和 conda,以及它们的使用场景和…

智能硬件创新实训平台-嵌入式、物联网、移动互联网、人工智能实验实训教学平台

智能硬件是继智能手机之后的一个科技概念,通过软硬件结合的方式,对传统设备进行改造,进而让其拥有智能化的功能。智能化之后,硬件具备连接的能力,实现互联网服务的加载,形成“云端”的典型架构,…

黑马Java零基础视频教程精华部分_11_面向对象进阶(3)_抽象类、接口、适配器

《黑马Java零基础视频教程精华部分》系列文章目录 黑马Java零基础视频教程精华部分_1_JDK、JRE、字面量、JAVA运算符 黑马Java零基础视频教程精华部分_2_顺序结构、分支结构、循环结构 黑马Java零基础视频教程精华部分_3_无限循环、跳转控制语句、数组、方法 黑马Java零基础视…

【Linux】文件变身大作战:Linux下的文件重命名艺术

欢迎来到 CILMY23 的博客 🏆本篇主题为:文件变身大作战:Linux下的文件重命名艺术 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…

OpenGL3.3_C++_Windows(33)

PBR渲染管线 Physically Based Rendering渲染管线 :使用一种更符合物理学规律的算法模型来模拟光线,由于它与物理性质非常接近,可以直接以物理参数为依据来编写表面材质判断是否基于物理的渲染,有三个数学模型:微平面,能量守恒&a…

Go语言实现支持泛型的二分查找算法

二分查找基本原理图: 参考代码: 泛型的定义: package v2024type Integer interface {int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 }type Float interface {float32 | float64 }type Number interface …

无需变更环境变量,一键管理和运行不同JDK版本的jar包

前言 之前公司的项目一直用的都是JDK8,然后前段时间,公司要求以后的新项目必须要用JDK17及以上的版本。但是以前的旧项目还有很多都在维护。 这样子的话,电脑上就至少有两个版本的JDK了。我想在不变动环境变量的情况下(环境变量…

可穿戴设备与健康科技:迈向个性化医疗的未来

在数字化和智能化浪潮的推动下,可穿戴设备与健康科技正迅速改变我们的健康管理方式。这些设备不仅使我们能够实时监测健康指标,还为个性化医疗提供了宝贵的数据支持。本文将详细探讨可穿戴设备的作用、健康监测技术的发展、个性化医疗的趋势,…

代码随想录——买卖股票的最佳时机含冷冻期(Leetcode 309)

题目链接 动态规划 class Solution {public int maxProfit(int[] prices) {if(prices.length 0 || prices.length 1){return 0;}// 初始化int[][] dp new int[prices.length 1][2];dp[1][0] -prices[0];for(int i 2; i < prices.length; i){dp[i][0] Math.max(dp[…

Arduino PID库 (5):开启或关闭 PID 控制的影响

Arduino PID库 &#xff08;5&#xff09;&#xff1a;开启或关闭 PID 控制的影响 Arduino PID库 &#xff08;4&#xff09;&#xff1a;Reset Windup 问题 尽管拥有一个PID控制器很好&#xff0c;但有时你并不关心它要说什么。 PID On - User Overwritting Output&#x…

安全测试:保护系统免受攻击和数据泄露

目录 前言1. 安全测试的概念2. 安全测试的主要作用2.1 发现安全漏洞2.2 评估风险2.3 确保合规性2.4 提高安全意识 3. 安全测试在整个测试中的地位4. 常用的安全测试工具4.1 渗透测试工具4.1.1 Metasploit4.1.2 Burp Suite 4.2 漏洞扫描工具4.2.1 Nessus4.2.2 OpenVAS 5. 安全测…

通道加密机的定义与功能

通道加密机是一种用于保护数据传输过程中安全性的硬件设备&#xff0c;它通过加密技术确保数据在通道中传输时不被非法截获或篡改。以下是对通道加密机的详细解析&#xff1a; 一、定义与功能 通道加密机是一种专门设计用于加密和解密在特定通信通道上传输的数据的设备。它能够…

【网络安全】|pgp的安装和使用

1、pgp的安装&#xff1a; 参考&#xff1a; https://jingyan.baidu.com/article/86fae346c289173c49121a11.html 实际操作&#xff1a; 在第六步中有不同&#xff0c; 第5步重启后&#xff0c;打开pgp desktop, 可以看到如图&#xff1a; 此时需要做两件事&#xff1a; 1、将…

第35讲:Manager可视化组件管理Ceph集群

Manager可视化组件管理Ceph集群 1.Mgr组件的基本概念 Mgr组件的官方文档&#xff1a;https://docs.ceph.com/en/latest/mgr/ Ceph Manager守护进程 (ceph-mgr) 与Monitor守护进程一起运行&#xff0c;为外部监控和管理系统提供额外的监控和接口。 ceph luminous版本中新增加…

配置阿里云 Maven 仓库地址

阿里云 Maven 仓库地址&#xff1a; maven {// 阿里云 Maven 仓库地址url https://maven.aliyun.com/repository/public} 执行结果&#xff1a;

决策曲线DCA的绘制

今天被要求画一下决策曲线&#xff0c;用Python试了半天也没画出来&#xff0c;最后参考了资料还是用R语言绘制了出来。 数据的格式 将四条曲线画在一张表中 library(rmda) library(readxl)# 读取Excel文件 data <- read_excel("C:/Users/Administrator/Desktop/肺动脉…

09 同步原语 sync包让你对并发控制得心应手

上节课留了一个思考题&#xff1a;channel 为什么是并发安全的呢&#xff1f;是因为 channel 内部使用了互斥锁来保证并发的安全&#xff0c;这节课&#xff0c;我将为你介绍互斥锁的使用。 在 Go 语言中&#xff0c;不仅有 channel 这类比较易用且高级的同步机制&#xff0c;…

MES系统如何精准采集与对接设备数据,全面优化设备管理

一、MES系统如何采集和对接设备数据 MES系统&#xff08;Manufacturing Execution System&#xff0c;制造执行系统&#xff09;采集和对接设备数据主要通过以下几种方式实现&#xff1a; 手工录入&#xff1a; 这是最基础的数据采集方式&#xff0c;通过操作人员在MES系统界…

C++基础知识(入门章)

绪论 历经千辛万苦&#xff0c;我们终于来到了一个全新的板块---C。本期的内容主要是关于C的一些基础知识的初步了解。让我们一起努力&#xff0c;克服编程路上的艰难险阻&#xff0c;迎接属于自己成功的彼岸~ C的发展历史 1979年 C的起源可以追溯到1979年&#xff0c;当时B…

从根儿上学习spring 四 之run方法启动第一段

图1 由上图我们可以看到&#xff0c;我把run方法分成了5个小段&#xff0c;每小段使用红框圈了起来&#xff0c;这一篇我们先开始讲第一段。大家需要关注下行号&#xff0c;我讲的时候可能会使用行号对应具体某行代码。 图1-289-290行&#xff1a; 没啥好说的定义了两个变量&…