Home Database Mysql Tutorial MySQL的原理,安装和基本使用

MySQL的原理,安装和基本使用

Jun 07, 2016 pm 05:04 PM
o database

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等5.优化:执行路径的选择,生

mysql执行流程:

mysql是一个单进程的服务,对于每一个请求都是用线程来响应的,这就需要一个连接器来处理新用户的请求,响应,销毁


1.客户端请求,服务器端(连接器)开辟线程响应用户

2.用户发起SQL语句查询数据库

3.查询缓存:记录用户的SQL查询语句,如果再次查询同样内容,就返回缓存

4.如果缓存没有进入分析器:(分析器也可能借签缓存)

语法分析器:用户命令语法是否正确

词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等

5.优化:执行路径的选择,生成执行树

每个SQL语句都有很多执行路径,优化的目的就是在这些执行路径里选择一个最优的执行路径

6.存储引擎:用于管理存储在文件系统,甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。


#查询缓存可以大大加速这个过程,不过缓存本身可能带来劣势,假如一个用户要查询一个数据,正好缓存里有,而在之前,这条数据刚刚被修改过那么返回的缓存结果就是过时的。


MYSQL的结构:


客户端:mysql

连接器: NativeC API 本地C语言接口

JDBCJAVA的数据库连接器

ODBC开放式数据库互联,非常底层 OracleSOLServer都支持

连接池(conetcionpool):它的后方是MYSQL的真正功能

SQL接口:用户通过sql客户端发过来的命令,由sql接口接收

DML数据操作语言:查询,修改,升级数据等

DDL数据定义语言:创建一个新的数据库,新的索引,删除一个用户等

存储过程视图触发器


Parser:分析器

查询 事务 对象权限

optimizer:访问路径

生成执行树


caches&buffers:缓存和缓存

优化里最重要的是缓存的优化


pluggablestroage engines存储引擎(插件式):将逻辑结构转换为物理结构的程序

ManagementServices & Utilites工具:备份,恢复,,安全,移植,集群等,这些工具一般和文件系统打交道,不需要和mysql-server打交道,它们对应的都是命令。

数据库对象:(逻辑)

表,二维关系

索引

视图

触发器

存储过程

存储函数

事件調读器

游标

用户


物理

文件


将数据库对象和物理对象对应起来就是存储引擎

Mysql

*插件式的存储引擎


mysqlmysql的连接方式:tcp,socket,pipe,memory


mysql的交互方式:interact batch


SQL

结构化查询语言

bash

select,update,create,drop


Mysql安装

版本选择:

GA

RC

beta

alpha


在以后的使用过程中,RPM包很方便,但是会带来各种问题,所以尽量使用编译安装甚至是LFS

Mysql-client

Mysql-devel:编译安装软件包,需要用到Mysql的时候才安装这个软件包

Mysql-embedded: mysq嵌入式

Mysql-ndb-management

Mysql-server

Mysql-shared:可能被客户端或者服务器端的某些工具用到

Mysql-shared-compat

Mysql-test:测试Mysql,提供测试组件


一般来讲,完全的MYSQL只需要安装clientdevel share server


安装目录的作用

bin

data默认情况下将数据和索引存放的目录

inclued

lib

man

mysql-test

scripts安装时的初始化脚本

share某种特定语言的错误信息的,信息原始文件存放

sql-bench压力测试工具

support-file提供一些初始化的文件和脚本

linux

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

Detailed tutorial on establishing a database connection using MySQLi in PHP Detailed tutorial on establishing a database connection using MySQLi in PHP Jun 04, 2024 pm 01:42 PM

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

How to handle database connection errors in PHP How to handle database connection errors in PHP Jun 05, 2024 pm 02:16 PM

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

How to use database callback functions in Golang? How to use database callback functions in Golang? Jun 03, 2024 pm 02:20 PM

Using the database callback function in Golang can achieve: executing custom code after the specified database operation is completed. Add custom behavior through separate functions without writing additional code. Callback functions are available for insert, update, delete, and query operations. You must use the sql.Exec, sql.QueryRow, or sql.Query function to use the callback function.

How to install and register the btc trading app? How to install and register the btc trading app? Feb 21, 2025 pm 07:09 PM

This article will provide a detailed introduction to how to install and register a Bitcoin trading application. The Bitcoin trading app allows users to manage and trade cryptocurrencies such as Bitcoin. The article guides users through the installation and registration process step by step, including downloading applications, creating accounts, performing identity verification, and first deposit. The goal of the article is to provide beginners with clear and easy-to-understand guidelines to help them easily enter the world of Bitcoin trading.

How to save JSON data to database in Golang? How to save JSON data to database in Golang? Jun 06, 2024 am 11:24 AM

JSON data can be saved into a MySQL database by using the gjson library or the json.Unmarshal function. The gjson library provides convenience methods to parse JSON fields, and the json.Unmarshal function requires a target type pointer to unmarshal JSON data. Both methods require preparing SQL statements and performing insert operations to persist the data into the database.

Top 10 global digital currency trading apps recommended (2025 currency trading software ranking) Top 10 global digital currency trading apps recommended (2025 currency trading software ranking) Mar 12, 2025 pm 05:48 PM

This article recommends the top ten digital currency trading apps in the world, including Binance, OKX, Huobi Global, Coinbase, Kraken, Gate.io, KuCoin, Bitfinex, Gemini and Bitstamp. These platforms have their own characteristics in terms of transaction pair quantity, transaction speed, security, compliance, user experience, etc. For example, Binance is known for its high transaction speed and extensive services, while Coinbase is more suitable for novices. Choosing a platform that suits you requires comprehensive consideration of your own needs and risk tolerance. Learn about the world's mainstream digital currency trading platforms to help you conduct digital asset trading safely and efficiently.

How does Go WebSocket integrate with databases? How does Go WebSocket integrate with databases? Jun 05, 2024 pm 03:18 PM

How to integrate GoWebSocket with a database: Set up a database connection: Use the database/sql package to connect to the database. Store WebSocket messages to the database: Use the INSERT statement to insert the message into the database. Retrieve WebSocket messages from the database: Use the SELECT statement to retrieve messages from the database.

See all articles