一、编写目的
记录知识点
二、时间线
#DayOne:
1.MySQL的服务器和客户端必须运行在不同的计算机上;
2.
show databases;
#列出所有数据库
show tables;
#列出所有表
3.命令行工具mysql
Go 语言驱动库 github.com/go-sql-driver/mysql
JDBC库 mysql:mysql-connector-java
4.不被视为关系型数据库:redis
关系型数据库:SQL Server、Oracle、MySQL
5.在开发机上安装MySQL或MariaDB(MySQL的分支):
- Debian 或 ubuntu 环境可以通过 “ apt install mariadb-server ”安装;
apt install mariadb-server
- 在CentOS上可以通过“ yum install mariadb-server ”安装;
yum install mariadb-server
- 在windows 上,可以下载安装包进行安装;;
MySQL三大范式
第一范式
第一范式主要是确保数据表中每个字段的值必须具有原子性,也就是说数据表中每个字段的值为不可再次拆分的最小数据单元。
第二范式
第二范式是指在第一范式的基础上,确保数据表中除了主键之外的每个字段都必须依赖主键。
第三范式
第三范式是在第二范式的基础上,确保数据表中的每一列都和主键字段直接相关,也就是说,要求数据表中的所有非主键字段不能依赖于其他非主键字段。
反范式化
如果数据库中的数据量比较大,系统的UV和PV访问频次比较高,则完全按照MySQL的三大范式设计数据表,读数据时会产生大量的关联查询,在一定程度上会影响数据库的读性能。此时,可以通过在数据表中增加冗余字段来提高数据库的读性能。
UV:(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。根据IP地址来区分访客数,在一段时间内重复访问,也算是一个UV;UV价值=销售额/访客数。意思是每位访客带来多少销售额;UV价值越大,产品越迎合消费者需求,只有一定的推广投入才会带来相对应的UV;网站判断来访电脑的身份是通过来访电脑的cookies实现的。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。UV反映的是实际使用者的数量,每个UV相对于每个ip更准确地对应一个实际的浏览者。
PV:(访问量):即Page View, 具体是指网站的是页面浏览量或者点击量;PV反映的是浏览某网站的页面数,所以每刷新一次也算一次。就是说PV与来访者的数量成正比,但PV并不是页面的来访者数量,而是网站被访问的页面数量。
#DayTwo:
登录
1.已知有系统用户joe,该用户有sudo权限;现在要建立一个名为joe的开发用户,并且该用户只能在本机登录,使用简单的口令joe要有足够高的权限:
#以 root 登录到本机的 mysql 库
shell sudo su mysql mysql
#创建数据库用户 joe 并授权:
sql create user 'joe'@'localhost' identified by 'joe';
grant all privileges on *.* to `joe`@`localhost`;
flush privileges ;
在dos窗口中输入命令mysql -h localhost -P 3306 -u root -proot
mysql -h localhost -P 3306 -u root -proot
(1.)最前面的mysql你可以理解成一个关键字或者理解成一个固定的命令,是固定写法,类似于java、jdk中的javac命令或java命令
(2.)-h表示host,即主机的ip地址
(3.)-P表示port,端口,mysql数据库的默认端口是3306,可以自己改端口号(注意:这是大写的字母P)
(4.)-u表示user用户名
(5.) -p表示password密码(注意:这是小写的字母p)
大写的P表示端口号,小写的p表示密码,-p和密码之间一定不能有空格;
注意:如果是本机的话,主机ip和端口号可以不写(即主机ip和端口号可以省略),直接写成mysql -u root -proot,如果端口号不是默认端口号,加上端口号:mysql -P 端口号 -u 用户名 -p密码
语法一:mysql -h 主机ip地址 -P 端口号 -u 用户名 -p密码
(-h和主机ip地址之间有空格,-P和端口号之间有空格,-u和用户名之间有空格,-p和密码之间一定不能有空格)
如果是本机的话,-h localhost -P 3306可以省略不写,直接写成mysql -u root -proot或者mysql -uroot -proot
语法二:mysql -h主机ip地址 -P端口号 -u用户名 -p密码
(-h和主机ip地址之间无空格,-P和端口号之间无空格,-u和用户名之间无空格,-p和密码之间一定不能有空格)
语法三:mysql -h主机ip地址 -P端口号 -u用户名 -p
(最后一个-p,小写字母p后面不写密码)
输入exit 退出mysql登录
2.Joe 创建了 'joe'@'localhost' 账户,那么关于他使用 joe 账户登录本