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

启动服务

sudo service mysql start

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

ps ajx|grep mysql

在这里插入图片描述

停止服务

sudo service mysql stop

重启服务

sudo service mysql restart

配置文件

“/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

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

sudo apt-get install mysql-client
sudo mysql

在这里插入图片描述

退出

quit或者exit

一些细节

数据库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';

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值