前情提要:
MySQL部署
dbeaver安装+jdk1.8
- 【若泽大数据002】MySQL基础知识汇总
- 1、JDK部署默认路径在哪?部署过程要注意什么?部署完成后习惯做什么?
- 2、MySQL的配置文件默认第一层路径在哪?假如第一层没有,会去找其他路径知道吗?
- 3、创建新的数据库ruozedata、用户ruoze,赋予用户对这个数据库所有权限,密码123456。哪三句SQL?
- 4、赋予权限%,代表什么含义?
- 5、生产,穿插: /tmp目录,文件存放超过30天,会发生什么?
- 6、生产,穿插: 软连接,适合哪2种场景?
- 7、修改一个用户的密码的SQL?
- 8、查看当前MySQL的有哪些用户、对应访问的来源权限,SQL?
- 9、MySQL是否也有和Linux一样,查看进程和杀死呢? SQL是什么?
- 10、MySQL的常见的数据类型,列举数值型、字符型、日期型?
- 11、SQL类型分为哪三种,分别有什么?
- 12、建表规范,请说出至少4个?
- 13、MySQL建表为什么id,第一个字段是自增长主键,非业务含义?
- 14、分库分表,你的理解是什么?
- 15、增删改查的SQL是什么?
- 16、排序语法是什么?默认是正排还是倒排?
- 17、 模糊搜索name字段,第二个第三个字母是rz的,语法是什么?
- 18、union 和 union all区别是什么?
- 19、分组语法是什么? 要注意什么?
- 20、分组语法加上过滤,语法是什么? 子查询是否可以等价查询?
- 21、join哪几种,习惯哪种?
- 22、where、group、limit 、order 默认组合顺序是否正确?
- 23、生产,查询表时,必须要加上限制行数,是否正确?
默认路径:/usr/java
部署过程注意:用户和用户组
完成后:配置环境变量;which java 看看生肖不
/etc/my.cnf
3、创建新的数据库ruozedata、用户ruoze,赋予用户对这个数据库所有权限,密码123456。哪三句SQL?create database ruozedata;
grant all privileges on ruozedata.* to ruoze@’%’ identified by ‘123456’;
flush privileges;
% 任意 ==》 chmod 777
5、生产,穿插: /tmp目录,文件存放超过30天,会发生什么?会清理30天没有访问的/tmp 目录下面的文件。
大数据服务,比如进程PID文件是在/tmp ,但是超过30天后,被自动删除。
当我想要重启服务,就找不到PID文件,会影响我的重启。
适合于版本升级、换盘(小盘换大盘)
7、修改一个用户的密码的SQL?1、set password = password(“xxx”)(找到user表进行修改)
2、flush privileges;
select user,host from mysql.user;
9、MySQL是否也有和Linux一样,查看进程和杀死呢? SQL是什么?有
查看:show processlist
杀死:kill 进程号
数值类型:TINYINT、SMALLINT、MEDIUMINT、INT或INTEGER、BIGINT、FLOAT、DOUBLE、DECIMAL
日期和时间类型:DATE、TIME、YEAR、DATETIME、TIMESTAMP
字符串类型:CHAR、VARCHAR、TINYBLOB、TINYTEXT、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB、LONGTEXT
ddl dml dcl
12、建表规范,请说出至少4个?表名字;字段注释;第一个字段使用自增主键;create_time updata_time
13、MySQL建表为什么id,第一个字段是自增长主键,非业务含义?如果使用非自增主键(如果身份证号或学号等),由于每次插入主键的值近似于随机,因此每次新纪录都要被插到现有索引页得中间某个位置,此时MySQL不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多开销,同时频繁的移动、分页操作造成了大量的碎片,得到了不够紧凑的索引结构,后续不得不通过OPTIMIZE TABLE来重建表并优化填充页面。
14、分库分表,你的理解是什么?大表一般按照年份分表,方便查找
15、增删改查的SQL是什么?insert;delete;update;select
16、排序语法是什么?默认是正排还是倒排?order by 默认asc,倒排desc
17、 模糊搜索name字段,第二个第三个字母是rz的,语法是什么?where name like “_rz%”
18、union 和 union all区别是什么?union 去重 union all 不去重
19、分组语法是什么? 要注意什么?group by 注意维度字段和分组字段要对应上
20、分组语法加上过滤,语法是什么? 子查询是否可以等价查询?having;可以
21、join哪几种,习惯哪种?7种,lift join right join
22、where、group、limit 、order 默认组合顺序是否正确?不正确,linit一般放在最后
23、生产,查询表时,必须要加上限制行数,是否正确?写在主库,读在从库
1、从库 执行SQL
2、大数据 执行SQL ,但是一般大数据是离线T+1, 是否能接受; 实时数据仓库,无所谓。
3、数据量达到海量, 100亿
全表扫描
4、除非业务需要,需要全表计算,否则必须养成习惯 select后面加上limit 1000;
5、有可能一个SQL,把服务夯住,阻塞其他查询请求,可能会影响业务、可能会把服务拉夸;对磁盘伤害很大。



