mysql 数据库的简介

(1)数据库系统解决的问题:持久化存储,优化读写,保证数据的有效性
(2)当前使用的数据库,主要分成两类:
文档性: 如sqlite,就是一个文件,通过对文件的复制完成数据库的复制—相当于一个文件
服务型:如mysql、postgre,数据存储在一个物理文件中,但是需要使用终端以tcp/ip协议连接,进行数据库的读写操作,通俗来讲,有两个端: 服务器端,客户端 数据库是存储在服务器端的,通过客户端连接服务器来实现对数据库的操作

(3)数据库的设计:
E-R模型:
--------(1)当前物理的数据库都是按照E-R模型进行设计的,E表示entry,(实体),R表示relationship,表示关系
--------(2)一个实体转换为数据库中的一个表
--------(3)关系描述两个实体之间的对应规则,包括
一对一
一对多
多对多
关系转换为数据库表中的一个列*在关系型数据库中一行就是一个对象

三范式:
第一范式: 列不可拆分,表示数据库表中每列的数据不能拆分
第二范式:唯一标识 ,每列的属性是唯一的,不能重复
第三范式:引用主键,id

(4)数据库的操作主要包括:
数据库的操作: 创建和删除等
数据库中表的操作: 创建、修改、删除等
数据库中的数据操作: 增加、修改、删除、查询 等操作----(这是学习数据库的核心知识)

(5)数据库的安装和配置:
在虚拟机的ubuntu系统下操作
—(1)安装: 这一步可以参照这个链接(非常简洁有用)https://www.cnblogs.com/APeng2019/p/10719341.html
–(2)启动服务等操作在上面都有体现

–(3)配置:允许远程连接,这个步骤的配置可以参考(这里面详细讲解了navicate连接服务器的mysql)这里面需要设定用户名和密码:https://blog.csdn.net/weixin_41960119/article/details/89605822

找到mysql配置文件并修改sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address=127.0.0.1注释
登录mysql,运行命令grant all privileges on *.* to '**root**'@'%' identified by '**mysql**' with grant option;
flush privileges;
重启mysql
这里面的**root**和**mysql**是连接数据库的用户名和密码
发布了129 篇原创文章 · 获赞 43 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/nbxuwentao/article/details/104413406