mysql基础文档_mysql基础

1.关系型数据库

1.数据库是一种数据的集合,他有着下面这些优点:

1.相互关联的数据的集合

2.较少的数据冗余

3.程序与数据相互独立

4.保证数据的安全、可靠

5.最大限度地保证数据的正确性

6.数据可以并发使用并能同时保证一致性

而现在市面上主流的数据库大都是关系型数据库,那么什么是关系型数据库呢?简单来说,关系型数据库就是一张张二维表,每一张表称为一个关系,表由行和列组成,每一行称为一个元组,也可以称为记录,每一列称为一个属性,存在唯一标识的字段,我们称之为主键。

2.联系类型

一对一联系(1:1)

一对多联系(1:n)

多对多联系(m:n)

一对一,比如一个学生只能有一个学号,一个学号也只能对应一个学生

一对多,比如一个学院可以有多个学生,而学生只能有一个学院

多对多,比如一个老师可以有多个学生,学生也可以有多个老师

3.范式

范式是对关系数据库的规范化约束,包含着多种范式,我们主要学习的是第一范式,第二范式和第三范式。

1.第一范式,简称1NF

所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。

2.第二范式,简称2NF

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。

第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。

3.第三范式,简称3NF

满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。他所要解决的是非主属性对主属性的传递函数依赖

2.二进制安装mariadb

我们将lmariadb安装到lvm上,这样可以解决数据扩展的问题。

1.下载

从downloads.mariadb.org 下载所需版本的mariadb的二进制包 mariadb-10.3.9-linux-x86_64.tar.gz

2.创建所需用户及组

groupadd -g 36 -r mysql

useradd -u 36 -r -g mysql -m -d /app/dbdata -s /sbin/nologin mysql

3.准备dbdata

artx -a /dev/sda

pvcreate /dev/sda6

vgcreate vgmysql /dev/sda6

lvcreate -l +100%FREE -n lvmysql vgmysql

mkfs.ext4 /dev/vgmysql/lvmysql

echo `/dev/vgmysql/lvmysql /app/dbdata ext4 defaults 0 0` >>/etc/fstab

mount -a

chown mysql.mysql /app/dbdata

chmod 700 /app/dbdata

4.解压二进制目录

tar -xvf mariadb-10.2.14-linux-x86_64.tar.gz -C /usr/local/

cd /usr/local/

ln -sv mariadb-10.2.14-linux-x86_64 mysql

5.创建配置文件

cd /usr/local/mysql/

mkdir /etc/mysql

cp support-files/my-huge.cnf /etc/mysql/my.cnf

修改/etc/mysql/my.cnf中的以下内容

datadir = /app/dbdata

innodb_file_per_table = on

skip_name_resolve = on

6.创建数据库

scripts/mysql_install_db --datadir=/app/dbdata --user=mysql

7.配置启动脚本

cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

service mysqld restart

8.配置环境变量PATH

echo `export PATH=/usr/local/mysql/bin:$PATH` >> /etc/bashrc

source /etc/bashrc

9.初始化mysql

mysql_secure_installation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值