首页 > 数据库 >MySOL数据库基础

MySOL数据库基础

时间:2024-06-23 10:28:28浏览次数:3  
标签:数据库 基础 mysqld MySOL mysql root localhost usr

一、数据库简介

1.数据库的特点

  • 存储大量信息,方便检索和访问。
  • 保持数据的完整性,一致性,降低数据冗余。
  • 应用共享和安全。

2.数据库的基本概念

数据:描述事物的符号记录,包括数字,文字,图形,图像,声音,档案记录。以“记录”的形式按照统一格式进行存储。

表:不同记录组织在一起,形成数据库的表,用来存储具体数据。

数据库:不同表组合形成的数据仓库,数据库是表的集合。

数据库管理系统(database  management  system ,DBMS):实现对数据库资源有效组织,管理和存取的系统软件。

数据库系统(database system ,DBS),一般有硬件,操作系统,数据库,DBMS,应用软件和数据库用户组成。用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库。

数据库管理员:负责数据库的更新于备份,维护系统,保证系统的正常运行。

3.数据库的发展史

(1)初级阶段——第一代数据库

       20世纪60年代,第一代数据库出现,是层次模型与网状模型数据库系统,为统一管理和共享数据提供支撑,代表公司IBM公司提出研制层次模型数据库管理系统——IMS。

(2)中级阶段——第二代数据库

      20世纪70年代,第二代数据库是关系数据库,20世纪80年代,IBM关系数据库系统DB2出现,Oracle公司将Oracle移植到桌面计算机上,二代数据库系统的关系数据库,逐步开始取代层次模型与网状模型数据库。

(3)高级阶段——第三代数据库

       20世纪90年代,形成了多种数据系统共同支撑应用的局面。当然,在商务应用山还是关系数据库是主流。新的元素加入商务数据库系统中。例如:“关系——对象”数据库模型。

4.MySQL简介

      MySQL是一个关系型数据库管理系统,现被Oracle公司收购。MySQL运行于Linux操作系统之上,Apache和Nginx作为Web服务器,MySQL作为后台数据库,PHP/Perl/Python作为脚本解释器,组合成“LAMP”。

5.主键和外键

(1)主键

      数据表中每一行记录都必须是唯一性,通过定义主键(主关键字,Primary Key)保证数据的唯一性。

主键唯一标识表中的数据,一个主键对应一行数据,逐渐由一个或多个字段组成,具有唯一性。一个表中只有一个主键。一个属性集能唯一的表示一行而不含多余的属性,被称为候选键。可以有多个候选键,但是只有有一个候选键可以作为表的主键。如图:可以将编号定义为主键;编号,身份证号,姓名,专业编号定义为候选键。

(2)外键

一个数据库包含多个表,通过外键将表连接起来。外键用于建立和加强两个表中的连接。通过表中主键一列或多列添加到另一个表中,创建两个表中的链接,这个列称为第二个表的外键。

6.数据完整性规则

(1)实体完整性

(2)域完整性

(3)引用完整性

(4)用户定义完整性

二、MySQL二进制安装

<安装mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz>
[root@localhost ~]# tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 
[root@localhost ~]# yum -y install gcc libaio

备注:
 libaio是linux版本的aio库,aio指的是异步io

创建运行用户
[root@localhost ~]# useradd -M -s /sbin/nologin mysql
关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/
[root@localhost ~]# vim /etc/selinux/config 

[root@localhost ~]# mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql
[root@localhost mysql]# mkdir data   (创建数据文件)
[root@localhost mysql]# chown -R mysql:mysql data/

数据初始化
[root@localhost bin]# ./mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize

备注:
--user=mysql 指定程序用户
--basedir=/usr/local/mysql  安装目录
--datadir=/usr/local/mysql/data  数据文件
 --initialize 初始化

初始化完成之后会形成一个初始化密码。妥善保管,稍后使用

设置配置文件
[root@localhost ~]# vim /etc/my.cnf

[client]
socket=/usr/local/mysql/data/mysql.sock

[mysqld]
socket=/usr/local/mysql/data/mysql.sock
bind-address=0.0.0.               绑定监听地址 0.0.0.0
port=3306                        设置 3306 端口
skip-name-resolve             跳过名称解析
max_connections=2048        允许最大连接数
character-set-server=utf8        服务端使用的字符集默认为 utf8
default-storage-engine=INNODB            创建新表时将使用的默认存储引擎
lower_case_table_names=1                大小写不敏感

[mysqld_safe]
log-error=/usr/local/mysql/data/error.log

[root@localhost ~]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld

备注:
将mysql.server服务控制脚本cp到/etc/init.d/重命名为mysqld

[root@localhost ~]#vim /lib/systemd/system/mysqld.service

[Unit]
Description=mysqld
After=network.target

[Service]
Type=forking
ExecStart=/etc/init.d/mysqld start
ExecStop=/etc/init.d/mysqld stop
ExecReload=/etc/init.d/mysqld reload
PrivateTmp=true

[install]
WantedBy=multi-user.target

[root@localhost ~]#systemctl daemon-reload
[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# netstat -anpt | grep 3306

[root@localhost mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@localhost mysql]# mysql -uroot -p
Enter password:     (初始密码)
mysql> set password=password('pwd123');    设置新的密码
 

标签:数据库,基础,mysqld,MySOL,mysql,root,localhost,usr
From: https://blog.csdn.net/zheshijiuyue/article/details/139843558

相关文章

  • Navicat Premium for Mac(多协议数据库管理工具) 16.3.4版
    NavicatPremium16是一款功能强大的跨平台数据库管理工具,支持多种数据库类型,如MySQL、MariaDB、Oracle、SQLite、PostgreSQL等等。它提供了丰富的数据库管理功能和工具,可以帮助开发人员和数据库管理员快速地创建、管理和维护数据库。NavicatPremiumforMac(多协议数据库管......
  • 基于springboot的信息技术知识竞赛系统源码数据库
    传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装信息技术知识赛系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,信息技术知识赛系统的......
  • 基于springboot的贸易行业crm系统源码数据库
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于springboot的贸易行业crm系统的开发全过程。通过分析基于springboot的贸易行业crm系统管理的不足,创建了一个计算机管理基于springboot的贸易行业crm系统的方案。文章介绍了基......
  • 最新抖音艺术签名小程序源码/艺术签名设计小程序源码 后台+前端+数据库
    内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍最新字节跳动小程序抖音艺术签名小程序源码/艺术签名设计小程序源码这个小程序是一个非常有用的工具,可以帮助您创建各种各样的艺术签名,以便在社交媒体平台上展示您的个性和创......
  • MybatisPlus逆向工程插件,无需编写任何配置文件,只需配置数据库信息,一键生成Entity、Con
    文章目录1.前言2.与其它逆向工程工具相比的优势3.下载插件4.准备工作4.1创建数据库和表(可跳过)4.2配置数据库信息4.2.1打开IDEA的菜单栏4.2.2找到工具,点击ConfigDatabase4.2.3填写连接数据库所需要的信息4.3导入MybatisPlus的Maven依赖和SpringWeb的Maven依......
  • java面试题--基础上
    一、说说&和&&的区别?作为运算符:&将二进制的每一位进行与运算作为逻辑运算符:两者都是与,&&如果左边为假则终止右边运算,即短路运算。&则需要把两边的比较执行完。二、int和Integer的区别int是Java的基本数据类型,而Integer是int的包装类int直接存储整数值,而Integer是一个对象,包含......
  • python入门基础知识(错误和异常)
    本文部分内容来自菜鸟教程Python基础教程|菜鸟教程(runoob.com) 本人负责概括总结代码实现。以此达到快速复习目的目录语法错误异常异常处理try/excepttry/except...elsetry-finally语句抛出异常用户自定义异常内置异常类型常见的标准异常类型语法错误P......
  • 代码随想录第13天 | 二叉树part01 基础和遍历
    二叉树基础知识二叉树种类满二叉树满二叉树:如果一棵二叉树只有度为0和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树(子节点要么为0,要么为2)若满二叉树的深度为k(即k层,从1开始),则其节点个数为:2^k-1完全二叉树完全二叉树:从上到下,从左到右,都是连续的。满二叉树一......
  • JAVA中的三大特殊类:抽象类,接口类,内部类(JAVA基础)
    抽象类1.抽象类包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必领定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用2.抽象方法使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象......
  • 深入讲解C++基础知识(一)
    目录一、基本内置类型1.类型的作用2.分类3.整型3.1内存描述及查询3.2布尔类型——bool3.3字符类型——char3.4其他整型4.有符号类型和无符号类型5.浮点型6.如何选择类型7.类型转换7.1自动类型转换7.2强制类型转换7.3类型转换总结8.类型溢出8.1注意......