RDBMS--Day01

数据库概述

存储数据的仓库,简称数仓

数据库服务器就是有很大硬盘空间存储数据的服务器

我们的数据主要包括微信聊天记录 购物网站记录了等等

数据的种类有 :视频 图片 音频 文字

常见的数据库开源软件

Mysql Redis Memcached MongoDB

mysql介绍

发展历史

最早属于瑞典的MySql AB公司

2008年1月,MySql AB 被 Sun收购

2009年4月,Sun被Oracle收购

特点

应用广泛的开源数据库软件

适用于中小规模、关系型数据库系统(RDBMS)

支持linux UNIX Windows等多种操作系统

支持Python java perl php等编程语言

应用场景

LAMP 与Apache连用

LNMP 与 Nginx连用

主要目录

废话结束开始安装

下载地址

https://downloads.mysql.com/archives/community/

从这个地址去下载你想要的版本,我用的是5.7.17

开始安装

准备工作关闭firewalld
禁用selinxu
配置本地yum源
将你下载的拷贝到你的服务器上root家目录
tar -xf mysql-5.7.17.tar
yum -y install mysql-community-*.rpm
systemctl  start mysqld  启动服务
systemctl  enable mysqld 设置开机运行
ss -utnlp |   grep  3306 查看端口号
ps -C mysqld 查看进程

初始化密码

查看服务初始密码
grep password /var/log/mysqld.log
mysql -uroot -p'上面查出来的最后面那些都复制到这里'
然后你就进去了

密码更改----适用于刚安装

修改登录密码
alter user root@"localhost" identified by "新密码";
exit;
使用修改的密码登录
mysql  -uroot -p你刚才设置的新密码
show databases;  查看已有的库(默认的4个库)

mysqld服务相关参数

/etc/my.cnf

主配置文件

/var/lib/mysql

数据库目录

MySQL服务默认端口号

3306

/var/log/mysqld.log

日志文件,初始密码就在这

数据库服务进程名

mysqld

基本操作

show  databases;    查看已有库
select user();  显示登录用户名和客户端地址
select version();  查看MySQL软件版本号
select database();   显示当前所在的库(类似系统命令pwd的功能)
use sys;   进入到sys库里( 类似系统命令cd)
show tables;  显示库下已有的表 (表,用来存数据的文件 )
exit;   断开连接(退回到系统命令行)

密码管理

第一种破解方法,需要重启数据库服务
此种方法适合破解线下数据库服务器管理员root密码

修改主配置文件

echo skip-grant-tables >> /etc/my.cnf  #跳过授权实现无密码登录     
systemctl  restart mysqld
mysql
mysql> update mysql.user set authentication_string=password("xxxxx") 
where user="root" and host="localhost";  
mysql> flush privileges;  #确保修改生效
mysql> select host,user,authentication_string from mysql.user 
where  user="root"  and  host="localhost"; #查看数据库root本机登录密码(密码是加密后保存的)
删主配置文件里添加的行并重启服务
systemctl  restart mysqld
现在你能用新密码登录了
第二种破解方法,不需要重启数据库服务
工作中线上服务器是不能随便重启的
适合破解线上数据库服务器管理员root 密码

scp -r 192.168.88.51:/var/lib/mysql/mysql  /var/lib/mysql/ 拷贝另一台机器的数据库目录
查看mysqld服务父进程PID号
pstree -p | grep mysqld | head  -1 #没有pstree命令的话 安装 psmisc软件
kill  -SIGHUP  你查到的PID号
用拷贝的密码登录

修改root密码

登陆后修改

alter user  root@”localhost” identified by "123qqq…A"; 

登陆前修改

mysqladmin

mysqladmin  -uroot -p旧密码 password "新密码"   #明文修改
mysqladmin  -uroot -p password                #密文修改
一遍旧密码 两遍新密码

安装mysql服务图形化管理工具

PhpMyAdmin

官网地址https://www.phpmyadmin.net/

安装

先把下载下来的解压
yum install -y httpd php php-mysql
mv 解压的目录 /var/www/html
cp /var/www/html/解压的目录/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php 
vim +17 var/www/html/phpmyadmin/config.inc.php #写入123到''随便写得
访问网页即可  http://ip/解压的目录 
输入mysql  用户名密码即可

SQL结构化查询语句

\c,ctrl+c可以结束

\G改变显示方式,也代表结束;

不区分大小写(命令),密码变量除外

可以分行写

mysql -uroot -pxxxx < xxx.sql导入

DQL 查询,不对数据做本身的修改

select

DDL 结构定义,对象定义

alter create drop

DML 对数据的编译

insert update delete

DCL 权限

grant

select命令格式

查看表里的所有行

select 表头名列表 from 库名.表名;

仅查看与条件匹配的行

select 表头名列表 from 库名.表名 where 查询条件 ;

筛选条件的使用

数据比较

符号 = != > >= < <=

select id,name,uid,gid from tarena.user where id != 3;

字符比较

符号两边必须是字符 或字符类型的表头

= 相等比较

!= 不相等比较

select name , shell from tarena.user where shell != "/bin/bash";

空和非空

只有null表示空 NULL

空 is null 表头下没有数据

非空 is not null 表头下有数据

mysql> insert into tarena.user(id,name) values(72,"null"); 普通字母

mysql> insert into tarena.user(id,name) values(73,NULL); 表示空

mysql> insert into tarena.user(id,name) values(74,null); 表示空

范围匹配条件

in 在…里

not in 不在…里

between 数字1 and 数字2 在…之间

mysql> select name , uid from tarena.user where uid in (10 , 20 , 30 , 50);

mysql> select id, name,uid from tarena.user where id between 10 and 20 ;

模糊匹配

通配符

_ 表示 1个字符 ?

% 表示零个或多个字符 *

mysql> select name from tarena.user where name like "_ _ _";

mysql> select name from tarena.user where name like "a%";

mysql> select name from tarena.user where name like "%_ _ _ _%";(没有空格挨着敲)

正则匹配

格式: select 字段名列表 from 库名.表名 where 字段名 regexp '正则表达式';

^ 匹配行首

$ 匹配行尾

[] 匹配范围内任意一个

* 前边的表达式出现零次或多次

| 或者

. 任意一个字符

select name from tarena.user where name regexp "[0-9]";

提高优先级()

作用:改变执行顺序

select (2 + 3) * 5; 先计算加法 再计算乘法

逻辑匹配 多个判断条件

逻辑与 and && 多个判断条件必须同时成立

逻辑或 or || 多个判断条件其中某个条件成立即可

逻辑非 not ! 取反

select name , uid from tarena.user where (name = "root" or name = "bin") and uid = 1 ;

定义别名使用 as 或 空格

select name as 用户名 , homedir 家目录 from tarena.user;

数据拼接 concat()

select concat(name , "-" , uid , "-" , gid) as 用户信息 from tarena.user;

去重显示 distinct 字段名列表

select distinct shell from tarena.user; 去重

select 命令其他用法演示

select "abc" as 字母; #可以输出文字数字字母

select (1+2) 结果是:; #可以输出计算结果

select 可以输出函数的值

查看mysql变量

show variables; 查看所有session变量

show global variables; 查看所有global变量

select @@version; 查看指定变量的值

select now(); 输出当前时间

修改密码策略

show variables like "%password%";查看策略

set global validate_password_policy=0;修改密码策略

set global validate_password_length=6;修改密码最小长度

永久修改vim /etc/my.cnf在mysql下追加

validate_password_policy=0

validate_password_length=6

:wq

你需要知道

1 简述当前主流RDBMS软件有哪些?开源且跨平台的数据库软件有哪些?

Oracle 、 DB2 、 SQL SERVER 、MySQL 等 ,其中只有MySQL是既开源又跨平台的数据库服务软件。

2 简述MySQL数据库的服务进程名、默认端口、默认数据库目录?

mysqld 3306 /var/lib/mysql

3 简述MySQL默认的4个库叫什么名字?哪个库里的数据不占用物理磁盘空间?

sys myasql information_schema performance_schema

information_schema库不占用物理磁盘空间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small white poplar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值