数据库的基本知识(mysql)

安装好mysql后有一个重要的配置文件/etc/my.cnf

复制代码
[root@master ~]# cat /etc/my.cnf
[mysqld_safe]

[client]
socket=/data/mysql/mysql.sock

[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8mb4

#二进制日志
log_bin
server_id=1

#开启半同步
rpl_semi_sync_master_enabled=1  
rpl_semi_sync_master_timeout=1000 #1秒

#开启gtid
gtid-mode=ON
enforce-gtid-consistency=ON
log-slave-updates=on

[mysql]
auto-rehash
prompt=\u@\d \R:\m  mysql>

#解释三者之间的关系

mysqld_safe

mysqld

mysql:是客户端的连接程序

##实验:创建用户-使用-文件类型

##创建(数据库--》linux一切都是文件)文件夹

create database sc

root@(none) 17:31 mysql>create database sc;

Query OK, 1 row affected (0.00 sec)

#使用sc这个数据库

root@(none) 17:32 mysql>use sc

Database changed

#查看表的结构

root@sc 17:35 mysql>desc student_info;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | char(10) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.01 sec)

##查看sc库的文件内容

root@mysql2 sc# ls

db.opt student_info.frm student_info.ibd

db.opt 就是database option 数据库选项 --》作用:告诉我们这个库使用的字符串是什么

root@sc-mysql sc# cat db.opt

default-character-set=utf8 默认字符集

default-collation=utf8_general_ci 默认字符集对应的校对规则: 排序的时候使用的

student_info.frm --》表结构文件 frame 框架

student_info.ibd --》表的数据和索引 innodb data --》MySQL默认使用的存储引擎是innodb: 将MySQL内存里的数据存放到磁盘,将磁盘里的数据读取到内存。

mysql里的存储引擎:

innodb --》默认

myisam

索引:

index 也是数据,是描述数据的数据,告诉我们数据存放的哪里,一本书里的目录

帮助我们可以快速的查询到数据

提升查询的效率

##查看表的方式:

root@sc 18:36 mysql>desc student_info;

show create table student_info;

root@sc 17:36 mysql>show create table student_info;

存储引擎是捆绑到表上的

root@sc 18:38 mysql>create table weicanyu(id int,name varchar(10)) engine=myisam;

Query OK, 0 rows affected (0.00 sec)

root@mysql2 sc# ls

db.opt student_info.ibd weicanyu.MYD

student_info.frm weicanyu.frm weicanyu.MYI

weicanyu.frm --》表结构文件 frame 框架

weicanyu.MYD --》myisam存储引擎存放数据的 data

weicanyu.MYI --》myisam存储引擎存放索引 index

root@sc-mysql sc# yum install psmisc -y

===

socket 是进程是进程之间通信的方式 -->槽

1.文件socket

2.网络socket

进程和进程之间的通信方式:

管道:pipe

命名管道: named pipe

信号:signal

信号量Semaphor

共享内存Shared Memory

消息队列Message Queue

套接字 Socket

#信号和信号量之间的区别

##文件socket只有本机

##网络socket ,远程连接数据库

root@localhost

root@192.168.77.133

cali@'%'

% 是通配符,代表任意的字符串

root@(none) 16:36 mysql>create user 'cali'@'%' identified by '123456';

Query OK, 0 rows affected (0.01 sec)

root@(none) 16:37 mysql>grant all on *.* to 'cali'@'%';

grant 是mysql里授权的命令

all 代表授予所有的权限 select insert update delete等

on *.* 第1个* 代表库 第2个*代表表

to 'cali'@'%' 给具体的用户=

root@(none) 16:40 mysql>

root@sc-mysql \~# mysql -ucali -p'123456' -h 192.168.77.134

-h hosts

-p password

-u users

##查看数据库上有哪些人连上去

cali@(none) 20:03 mysql>show processlist;

+----+------+---------------------+-----------+---------+------+----------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+----+------+---------------------+-----------+---------+------+----------+------------------+

| 7 | root | localhost | sc | Sleep | 1250 | | NULL |

| 11 | cali | 192.168.0.110:36752 | NULL | Query | 0 | starting | show processlist |

| 12 | cali | 192.168.0.1:49306 | wangshuai | Sleep | 109 | | NULL |

| 13 | cali | 192.168.0.1:49308 | NULL | Sleep | 251 | | NULL |

+----+------+---------------------+-----------+---------+------+----------+------------------+

4 rows in set (0.00 sec)

===

如何知道自己的MySQL的版本

1.直接登陆,可以看到

2.使用命令

root@(none) 09:38 mysql>select version();

+-----------+

| version() |

+-----------+

| 5.7.37 |

+-----------+

1 row in set (0.04 sec)

思考: 为什么需要这些系统? (dba)

1.更好管理数据

2.分类

3.方便操作,不易出错

4.效率高

5.对人的经验要求可以降低

6.节约成本

##查看版本的方式--》

1.刚进入系统的时候,2.mysql>select version

cali@(none) 20:05 mysql>select version

-> ();

+------------+

| version

() |

+------------+

| 5.7.38 |

+------------+

1 row in set (0.00 sec)

相关推荐
字节渡客6 分钟前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
OnlineProxy2 小时前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
辻弋2014 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
可乐鸡翅yeah_4 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
石头麻辣鱼5 小时前
Bamboo 调度系统 OceanBase 适配实战:存储过程迁移踩过的三个大坑
数据库
龙亘川5 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
念何架构之路5 小时前
zap扩展生态与总结
java·前端·数据库
晚安日记wanna6 小时前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化
第七页独白6 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库
晚安日记wanna6 小时前
索引建了却不走?7 个失效原因逐层排查
数据库·mysql·性能优化