Mysql详解(简单了解一篇足够):

MariaDB介绍:

mysql逻辑架构

在这里插入图片描述
第一层:连接处理,授权认证,安全
每个客户端连接都会拥有一个线程,这个连接查询都会在这一个单独的线程中执行,该线程指挥在某个cpu核心或者cpu中执行,服务器会负责缓存线程,所以不需要为每一个新建的连接创建或者销毁线程
客户端连接服务器时,服务器需要对其进行认证认证基于用户名。
mysql5.5以上版本提供一个API,支持线程池(Thread-Pooling)插件,可以使池中少量的线程服务大量的连接

第二层:查询解析,分析,优化,缓存以及所有的内置函数(日期,时间,数学加密函数),所有跨存储引擎的功能都在这一层:存储过程,触发器,视图
mysql会解析查询,并创建内部数据结构(解析树),对其进行优化,包括重写查询,决定表的读取顺序,选择合适的索引,用户可以通过特殊的关键字提示hint 优化器,影响他的决策过程,也可以请求优化器解释(explain)
优化器并不关心使用什么存储引擎,但是存储引擎对于优化查询有影响,优化器会请求存储引擎提供容量或具体操作开销信息,以及表数据的统计信息,某些存储引擎的某种索引会对一些特定的查询有优化

select语句查询解析的之前,服务器会先检查缓存,如果能够在其中找到对应的查询,服务器就不会执行查询解析,优化和执行的整个过程,而是直接返回查询缓存中的结果集

第三层:存储引擎:负责mysql数据存储和提取,服务器通过API与存储引擎进行通信,这些接口平不了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明,存储引擎API包含几十底层函数,用于执行 例如开始一个事务,或者根据主键提取一条记录,但是存储引擎不会解析sql,不同的存储引擎之间也不会相互通信,而只是简单的响应上层服务器的请求

ubuntu直接安装

执行以下命令:

apt install mariadb-server

在这里插入图片描述

ubuntu源码安装

https://downloads.mariadb.org/mariadb下载最新版本的软件包放到需要安装的目录:例子opt

安装依赖环境:
apt install make cmake gcc  ncurses-dev g++ -y
cd /opt
tar -zxvf mariadb-10.5.5.tar.gz
cd mariadb-10.5.5

数据库初始操作

  1. 修改密码
  2. 创建数据库及表
  3. 增删改查
  4. 数据

1.修改密码:

通过进入数据库修改密码

sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables

UPDATE mysql.user SET authentication_string = PASSWORD('123456'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';

FLUSH PRIVILEGES;
exit
sudo systemctl start mariadb

创建数据库及表:

创建数据库
mysq 

3.增删改查:

对表进行增加,删除 ,修改,查询操作

1.insert into
insert into table_name values (字段1值,字段2值,...) #自增可不填写
2.delete
delete from table_name where name = root
3.update
update table_name set name=xixi,age=18 where name = root
4.select
select * from table_name   #查看全部内容
select name,user from table_name   #查看 name user字段

3.数据库备份:

1.使用mysqldump全量备份

备份整个数据库:
mysqldump -u root  -p test > /root/testdb.sql   #本地备份
mysqldump -u root -h IP  -p test > /root/testdb.sql   #远程备份   -h 远程连接到别的机器数据库进行备份
备份某个数据库的某个表:
mysqldump -u root  -p test  runoob_tbl  > /root/testdb.sql   #
备份多个数据库:
mysqldump -u root  -p --databases test  mysql > db.sql  #备份test mysql 数据库
备份所有数据路
mysqldump -u root  -p --all-databases > alldb.sql
数据还原:
mysql -u root -p  < backup.sql
或者
mysql -u root -p #进入数据库
use test #选择数据库
source backup.sql  #sql文件是绝对路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值