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
mysql基础文档_mysql基础相关推荐
- mysql 维护文档_mysql数据库维护文档
MySQL数据库维护文档 主从配置: 主服务器:CentOS5.4 Mysql-5.0.77 IP 192.168.1.142 从服务器:CentOS5.6 mysql-5.0.77 IP 192.1 ...
- 计算机网络基础文档,计算机网络基础-20210608152532.pdf-原创力文档
计算机网络基础 课程教案 讲次 第 20 讲 授课班级 07 计算机班 授课时数 2 教材名称 最新计算机网络培训教程 出版单位 汕头大学出版社 授课方式 理论课□ 讨论课□ √ 实验课□ √ 习题课 ...
- 公司mysql部署文档_Mysql部署文档
安装mysql服务1tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 2)更改解压缩后的文档夹名称1mv mysql-5.7.23-linux- ...
- mysql安装文档_mysql安装文档
linux下使用yum安装mysql --安装的mysql版本为mysql55-mysql-server.x86_64 1.安装 查看有没有安装过: yum list installed mysql* ...
- mysql 产品文档_mysql产品页面
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql mha文档_mysql mha
https://www.cnblogs.com/xiaoboluo768/p/5135584.html 环境: centos 6.5 x64 192.168.0.32 # master 192.168 ...
- jQuery基础文档(持续更新)
文章目录 jQuery基础文档(持续更新) 1 jQuery入门仪式: jQuery基础文档(持续更新) 1 jQuery入门仪式: 还是先上一段代码吧,对照这看: <!DOCTYPE html ...
- Java基础了解-12-网络编程/发送邮件/多线程编程/Applet 基础/文档注释
@ 网络编程/发送邮件/多线程编程/Applet 基础/文档注释 一.Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net 包中 J2SE ...
- 基于Java毕业设计服务管理系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计服务管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计服务管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...
最新文章
- java File 的相对路径
- 怎么在线安装php文件,PHP在线安装数据库
- 19、Power Query-快速分析各产品的销售情况
- CSS学习笔记(十四) 我们前端是怎么跟设计师沟通的
- 对学校的希望和寄语_放飞青春梦,奋斗十四五——2020年福州文教职业中专学校寄宿生联欢晚会...
- angular路由传递参数_Angular路由——在路由时候传递数据
- 谷歌浏览器外贸版_针对谷歌SEO,你有哪些值得推荐的工具、插件、网站、app,或者技巧分享?...
- foo( a )JAVA面试题_Java相关面试题总结+答案(五)
- 库克回应乔纳森离职:不影响苹果继续创新
- Linux 文件类型
- 基于HMM和维特比算法的中文分词
- HDU1686:Oulipo
- 黑马程序员全套Java教程_Java基础入门视频教程零基础自学Java必备教程视频讲义(2)
- 在Word中为三位数字设置带圈字符(转)
- spring常见用法之安全模块(注册登录模块)
- threeJS鼠标单击模型边缘高亮
- 笔记本连接RK61键机械键盘非损坏的win和alt对调,数字键失灵以及特殊字母键失灵恢复
- CDQZ多校集训题目--盛夏
- 3 个技巧教你轻松查看多开模拟器的端口号~
- ESP32 关于HTTPS的使用