• MySQL数据库描述以及安装使用


    一:数据库介绍

    数据库

    数据库就是用来存储数据的一种特殊文件。

    数据库类别

    数据库主要分为两种:
    关系型数据库RDBMS
    非关系型数据库NoSQL

    关系型数据库的主要产品:
    oracle:在以前的大型项目中使用,银行,电信等项目
    mysql:web时代使用最广泛的关系型数据库
    ms sql server:在微软的项目中使用
    sqlite:轻量级数据库,主要应用在移动平台
    查看数据库排名:https://db-engines.com/en/ranking

    关系型数据库解释

    关系型数据库是一种基于关系模型的数据库系统,它使用表格(也称为关系)来组织和存储数据。这种数据库管理系统(DBMS)是建立在关系型代数和关系操作理论之上的。

    以下是关系型数据库的几个核心概念:
    表(Table):关系型数据库中的数据以表的形式进行组织。表由行和列组成,每行表示一个记录,每列表示一个字段或属性。表中的记录是无序的,但通过主键可以唯一标识每个记录。

    主键(Primary Key):主键是表中用于唯一标识每个记录的一列或一组列。它的值必须是唯一的,并且不能为空。主键用于在表中进行数据的唯一性约束和关联操作。

    外键(Foreign Key):外键是一个表中的字段,它引用了另一个表的主键。外键用于建立表与表之间的关联关系。通过外键,可以在多个表之间进行数据的关联和连接操作。

    关系(Relationship):关系是指不同表之间的联系或关联。通过外键,可以在关系型数据库中建立表与表之间的关系,实现数据的一致性和完整性。

    查询语言:关系型数据库使用结构化查询语言(SQL)进行数据的操作和检索。SQL 提供了一组丰富的命令和语法,用于创建表、插入数据、更新数据、删除数据以及查询数据。

    关系型数据库的优点包括数据结构清晰、支持事务处理、具备强大的数据完整性和安全性等。常见的关系型数据库软件包括Oracle、MySQL、Microsoft SQL Server和PostgreSQL等。

    然而,对于某些特定的应用场景,关系型数据库也存在一些限制,比如无法很好地处理大规模数据集和高并发访问。为了应对这些挑战,出现了一些非关系型数据库(NoSQL),如键值存储数据库、文档数据库和列族数据库等。这些数据库系统提供了不同的数据模型和存储方式,以满足各种不同的需求。
    在这里插入图片描述

    SQL

    SQL是结构化查询语言,是一种用来操作RDBMS的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库

    SQL语句主要分类

    DQL:数据查询语言,用于对数据进行查询,如select
    DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete
    TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
    DCL:数据控制语言,进行授权与权限回收,如grant、revoke
    DDL:数据定义语言,进行数据库、表的管理等,如create、drop
    CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor

    • 对于web程序员来讲,重点是数据的crud(增删改查),必须熟练编写DQL、DML,能够编写DDL完成数据库、表的操作,其它语言如TPL、DCL、CCL了解即可
    • SQL 是一门特殊的语言,专门用来操作关系数据库
    • 不区分大小写

    二:Linux中数据库使用

    服务器端安装

    sudo apt-get install mysql-server
    
    • 1

    启动服务

    sudo service mysql start
    
    • 1

    查看进程中是否存在mysql服务

    ps ajx|grep mysql
    
    • 1

    在这里插入图片描述

    停止服务

    sudo service mysql stop
    
    • 1

    重启服务

    sudo service mysql restart
    
    • 1

    配置文件

    “/etc/mysql/mysql.conf.d”目录下的“mysqld.cnf”文件
    /etc/mysql/mysql.conf.d
    主要配置项如下:

    bind-address表示服务器绑定的ip,默认为127.0.0.1
    
    port表示端口,默认为3306
    
    datadir表示数据库目录,默认为/var/lib/mysql
    
    general_log_file表示普通日志,默认为/var/log/mysql/mysql.log
    
    log_error表示错误日志,默认为/var/log/mysql/error.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    命令行客户端安装和MySQL连接

    sudo apt-get install mysql-client
    sudo mysql
    
    • 1
    • 2

    在这里插入图片描述

    退出

    quit或者exit
    
    • 1

    一些细节

    数据库server端安装好之后,我们可以通过sudo mysql命令进入数据库,但是 是使用sudo命令以root身份进入MySQL数据库的,可能会对系统安全造成风险。所以最好是使用具有适当权限的MySQL用户来进行数据库操作

    MySQL中创建一个新用户并且给访问权限

    1,使用sudo或root权限登录到MySQL命令行界面:
    sudo mysql
    
    2,查看我的MySQL有哪些用户以及拥有的权限
    SELECT user, host FROM mysql.user;
    
    3,查询某个特定用户具有哪些权限
    SHOW GRANTS FOR 'username'@'host';
    
    4,创建一个新用户,使用以下命令:
    CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
    请将用户名替换为您想要创建的用户名,并将密码替换为您想要设置的密码。'localhost'表示只能在本地访问,如果想允许从远程访问,可以将'localhost'替换为'%'.
    
    5,授予新用户对特定数据库的权限,使用以下命令:
    GRANT 权限 ON 数据库名.* TO '用户名'@'localhost';
    请将权限替换为您想要授予的权限(例如SELECT、INSERT、UPDATE等),如果是ALL代表授予所有权限。
    将数据库名替换为您要授权的数据库的名称,如果是*,代表授权所有数据库。
    用户名替换为您刚刚创建的用户名。
    
    6,刷新MySQL权限使更改生效:
    FLUSH PRIVILEGES;
    完成以上步骤后,您将成功创建一个新用户并为其授予相应的数据库权限。该用户现在可以使用指定的用户名和密码访问MySQL数据库。
    
    7,要修改MySQL数据库中用户的密码,你可以使用以下SQL语句:
    ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    一切准备就绪,接下来就开始正式的数据库操作吧!

  • 相关阅读:
    npm常见操作
    跨语言类RPC协议
    新的 WALLET 奖励倍数在 Ambire 上线,现在可以获得特殊福利!
    强化学习:带MonteCarlo的Reinforce求解MountainCar问题
    研发效能之技术治理&技术治理架构师
    C++学习第十课--构造函数详解、explicit与初始化列表笔记
    08 | Harbor 不可用排查方法
    Linux系统编程:编译过程以及GDB调试
    clickhouse安装部署
    计算机毕业设计php_thinphp_vue的约课管理系统-课程预约(源码+系统+mysql数据库+Lw文档)
  • 原文地址:https://blog.csdn.net/IT_Mr_guo/article/details/133132542