LINUX中的mysql(一)安装

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: MySQL是一种常用的开源关系型数据库管理系统,广泛应用于Linux系统中。它提供了一个灵活、高效和可扩展的数据库解决方案,被许多应用程序和网站用于存储和管理数据。

前言

MySQL是一种常用的开源关系型数据库管理系统,广泛应用于Linux系统中。它提供了一个灵活、高效和可扩展的数据库解决方案,被许多应用程序和网站用于存储和管理数据。

在Linux中,MySQL有以下特点和用法:

1. 安装和配置:MySQL可以通过Linux发行版的软件包管理器进行安装,也可以手动从官方网站下载并安装。安装后,可以通过配置文件进行必要的参数设置。


2. 命令行工具:MySQL提供了一系列命令行工具,例如`mysql`、`mysqldump`、`mysqladmin`等,用于连接数据库、执行查询、备份和恢复数据、管理用户等操作。


3. 数据库管理:通过MySQL的命令行工具或图形界面工具(例如phpMyAdmin或MySQL Workbench),可以创建数据库、创建表、定义表结构、添加索引、进行备份和还原等管理操作。


4. 用户权限管理:MySQL允许创建多个用户,并为不同的用户赋予不同的权限。可以通过GRANT和REVOKE语句来控制用户的访问权限,从而保障数据的安全性。


5. 数据备份和恢复:MySQL提供了多种备份和恢复数据的方法。常用的方法包括使用`mysqldump`命令来导出数据和结构,以及使用`mysql`命令或其他工具来导入数据和恢复。


6. 数据库连接和编程接口:MySQL支持多种编程语言的接口,如PHP、Python、Java等。通过这些接口,开发人员可以连接数据库并执行SQL查询,实现与MySQL的交互。


总之,MySQL在Linux系统中是一个功能强大、稳定可靠的数据库管理系统,适用于各种规模的应用程序和网站。它具有良好的性能、易于使用和丰富的功能,成为众多开发人员和系统管理员的首选。


一、概述


一、什么是数据库

   1)将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合:银行存款的信息、电话薄

   2)数据库是存储、管理和操作组织化数据的软件系统


二、应用方向

   1)企业应用: 存放用户数据、管理企业数据

   2)金融行业:存储分析客户的财务数据

   3)电子商务:存储产品信息、订单信息等

   4)社交媒体:存储社交消息数据

   5)物联网:物联网设备在云服务平台的数据存储


三、为什么要用数据库,优势、特性?

   1)可靠性和稳定性

       现代数据库系统通常具有高度可靠性和稳定性,可以提供持久性和容错性,可以确保企业的数据安全性。

   2)数据管理能力

       数据库系统提供了一种强大的方式来管理数据,从数据的存储到访问都进行统一的管理。企业可以更好地跟踪、管理和报告数据,从而使工作更加高效。

   4)数据共享和集成

       企业常常需要从不同的部门和应用程序中收集信息和数据。通过使用数据库,这些数据可以集成在一起,使企业更容易理解业务、做出决策。

   5)数据安全性和隐私保护

       企业往往会处理大量的机密数据,如个人信息、财务信息、业务数据等等。数据库管理系统可以提供安全的访问控制和数据保护功能,保护数据的隐私性和机密性。

   6)减少数据冗余

       数据库技术可以帮助企业减少数据冗余和重复,提高数据的一致性、准确性和可重用性。


二、数据库类型


一、关系型数据库,RDBMS

   1)概述:关系型数据库是一种使用表格来展示和管理数据的数据库,关系型数据库的核心是数据之间的关系,因此也叫做“关系数据库”。RDBMS可以让用户很容易地使用和管理这些关系

   2)特点

       便于查询和操作: SQL语句

       结构化数据:使用行和列存放数据

       数据的一致性和完整性:各种约束条件

       并发性:支持多用户连接的隔离性

  3) 代表产品

       MySQL: 瑞典MYSQL AB公司开发,现由甲骨文公司管理

       PostgreSQL:PostgreSQL全球开发组开发的免费的开源的数据库管理系统


二、非关系型数据库,NoSQL

   1)概述:NoSQL(Not only SQL)是一种非关系型数据库模型,其数据存储和查询机制与传统的关系型数据库不同

   2)特点

       非结构化数据: 文本、图像、媒体等

       分布式存储:分布在多个节点中,实现高并发

       没有固定的规范模式:无需定义表和列,不强制要求结构

       高可伸缩性:支持水平扩展,增加或删除节点

       高性能:高速读写操作,比传统的关系型数据库效率要高

   3)代表产品

       MongoDB: 一款基于文档存储模型的非关系型数据库软件

       Redis:一款基于内存存储的非关系型数据库,与MongoDB一样广泛应用于互联网领域, Redis常用于快速读写操作、缓存等场景


三、数据库模型


一、主要有:层次型数据库模型;网状型数据库模型;关系型数据库模型;非关系型模型

  1) 层次型数据库模型:

       1966年,IBM研究员Codd提出层次结构模型;

       它的数据结构如同树状结构。每个节点都只有一个父节点,但可以有多个子节点;

       这种模型存在层次结构复杂、扩展性差、数据操作限制等问题。

   2)网状型数据库模型:

       1969年,CODASYL工作组发布了网络模型;

       它使用复杂链表来表示数据之间的关系,并增加了数据结构的灵活性和递归处理能力,从而解决了层次结构模型的一些问题;

       解决了层次结构模型的一些问题。但是网络模型需要了解复杂的物理存储结构,对程序设计人员的要求比较高。

   3)关系型数据库模型:

       1970年,Codd提出了关系型模型,也就是目前SQL和RDBMS所采用的模型;

       关系型模型基于二维表格的结构组织数据,每个表格称为关系,每行记录代表一个实体,每列记录代表一个属性。关系之间通过主键和外键进行关联;

       它具有数据结构简单、数据组织规范、数据操作强大、数据完整性可控等优点,是目前应用最广泛的数据库模型。

   4)非关系型模型


四、MYSQL的安装


MYSQL的端口是3306/tcp安装可以分为yum安装;rpm安装;编译安装三种下面我们主要对rpm安装一起来操作一下


(一)yum安装MYSQL

1)首先配置我们的基础环境:关闭防火墙、SELINUX、配置我们的本地yum源


2)直接使用

yum -y install mariadb mariadb-server

即可

3)启动MYSQL命令

systemctl start mariadb.service

验证

netstat -anput |grep mysql

建用户命令

mysqladmin  -uroot -p password '新密码'
(二)rpm安装MYSQL

1)首先配置我们的基础环境:关闭防火墙、SELINUX、确保我们的网络可以上网。我们可以

ping www.baidu.com

来验证

2)下载安装包

wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm


 

3)安装数据库服务
 

rpm -ivh mysql57-community-release-el7-8.noarch.rpm


yum -y install mysql-server

   哦!不!安装失败

提示信息:

   mysql-community-common-5.7.42-1.el7.x86_64.rpm 的公钥尚未安装

    失败的软件包是:mysql-community-common-5.7.42-1.el7.x86_64

    GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql


失败原因分析:mysql密钥过期


4)解决办法:


1、安装新的密钥然后再安装服务

 

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    yum -y install mysql-server

2、不使用GPG密钥验证

yum -y install mysql-server --nogpgcheck

五、MYSQL本地登录


rpm安装MYSQL本地登录

1)启动MYSQL服务 并输入mysql进行登录

提示信息:

   ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


出现错误分析原因:输入的密码是错误的,所以拒绝你的访问


2)解决办法1:查看临时密码

 

grep 'temporary password' /var/log/mysqld.log

 最后一个字段就是我们临时密码

使用

mysql -uroot -p

输入临时密码uEVsC:IR*5le登录

解决办法2:进入数据库的配置文件 vim /etc/my.cnf并添加参数skip-grant-tables不验证密码进入mysql,保存退出重启服务。
   

六、重置密码


通过以上步骤我们可以经入到mysql了,接下来我们以解决办法2为基础进行操作

1)输入mysql按回车直接进入到数据库

2)数据库的基本查看方法

show databases;

使用mysql数据表

看看mysql中有什么列表

查看user中有什么

3)创建root用户并设置密码


先刷新

flush privileges;

在删除原用户

drop user 'root'@'localhost';

最后创建用户

create  user  'root'@'localhost' identified by '123456';

赋予root权限
 

grant all privileges on *.* to 'root'@'localhost' with grant option;

  刷新  flush privileges;

 退出 exit

4)去恢复我之前在配置文件vim /etc/my.cnf中添加的去掉配置项skip-grant-tables

5)验证:重启mysql,然后使用新密码重新登录数据库
   systemctl restart mysqld
   mysql -uroot -p123456


总结

在进入数据库查看时要注意命令的使用:查看数据库  show databases;使用mysql数据表use  mysql; 查看user中有什么 select * from user\G;并且在修改密码时要注意使用flush privileges刷新。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
监控 关系型数据库 Linux
|
7天前
|
关系型数据库 MySQL Linux
CentOS7环境下安装MySQL5.6
CentOS7环境下安装MySQL5.6
|
1天前
|
关系型数据库 MySQL Linux
centos7.0环境下安装MySql_8.0.12
centos7.0环境下安装MySql_8.0.12
|
2天前
|
Linux 应用服务中间件 nginx
内网环境下 - 安装linux命令、搭建docker以及安装镜像
内网环境docker镜像的安装,以及内网环境如何安装linux命令
内网环境下 - 安装linux命令、搭建docker以及安装镜像
|
3天前
|
Linux Shell
Linux:centos yum安装指令指南
Linux:centos yum安装指令指南
Linux:centos yum安装指令指南
|
5天前
|
JavaScript Ubuntu 前端开发
百度搜索:蓝易云【Linux下Nodejs安装三种方式及开发环境】
请注意,为了保持开发环境的稳定和可靠,建议使用LTS(长期支持)版本的Node.js,并避免使用过旧或过新的非稳定版本。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
13 1
|
7天前
|
关系型数据库 MySQL Docker
在win10安装docker及部署mysql5.6过程
在win10安装docker及部署mysql5.6过程
|
7天前
|
关系型数据库 MySQL Linux
Linux环境下定时备份mysql数据库
Linux环境下定时备份mysql数据库
|
7天前
|
关系型数据库 MySQL Linux
Linux环境安装mysql 5.6注意事项
Linux环境安装mysql 5.6注意事项
|
8天前
|
Ubuntu Shell Linux